Html “如何创建字符串映射”;地点“;及;位置值文本“;这个字符串文本的名称?
我使用anguler和ngRx框架开发了这个项目。我使用带有HTML的TypeScript开发前端。我的数据库保存了“HTML”格式的文本,如下所示Html “如何创建字符串映射”;地点“;及;位置值文本“;这个字符串文本的名称?,html,string,typescript,dom,pattern-matching,Html,String,Typescript,Dom,Pattern Matching,我使用anguler和ngRx框架开发了这个项目。我使用带有HTML的TypeScript开发前端。我的数据库保存了“HTML”格式的文本,如下所示 "<html><body><a href="C:\Users\K\Documents\docker_command.txt">A.txt </a> <a href="C:\Users\Documents\B.txt"
"<html><body><a href="C:\Users\K\Documents\docker_command.txt">A.txt </a>
<a href="C:\Users\Documents\B.txt">B.txt </a>
<a href="C:\Users\K\Documents\D.txt">D.txt </a>
<a href="https:\\www.facebook.com">www.facebook.com </a>
</body></html>"
您想要的
值是多少?这是链接的锚文本吗
我们创建一个接口链接
,其中包含我们希望从每个链接获得的属性
interface Link {
location: string;
value: string;
}
然后我们创建一个函数,从html字符串中提取所有链接,并将它们转换为Link
对象数组
function parseLinks( stringHTML: string ): Link[] {
// create a parser object
const parser = new DOMParser();
// turn the string into a Document
const doc = parser.parseFromString( stringHTML, "text/html" );
// get all links
const linkNodes = doc.getElementsByTagName('a');
// convert from HTMLCollection to array to use .map()
const linksArray = [...linkNodes];
// map from HTMLAnchorElement to Link object
return linksArray.map( element => ({
location: element.href,
value: element.innerText,
}))
}
现在,您可以对文本中的链接执行任何操作
const text = `<html><body><a href="C:\Users\K\Documents\docker_command.txt">A.txt </a>
<a href="C:\Users\Documents\B.txt">B.txt </a>
<a href="C:\Users\K\Documents\D.txt">D.txt </a>
<a href="https:\\www.facebook.com">www.facebook.com </a>
</body></html>`;
const links: Link[] = parseLinks( text );
// can use like this
links.map( ({location, value}) => {
// do something here
})
const text=`
`;
const links:Link[]=parseLinks(文本);
//你可以这样用吗
links.map({location,value})=>{
//在这里做点什么
})
有两种方法:可以使用正则表达式从HTML字符串中提取值,也可以将值提取到javascript文档中。我推荐解析。你能,请,给我一个例子,我如何使用domParser。我将创建let x=new DOMParser()对象。和parser->let doc=parser.parseFromString(stringHTML,“application/html”)这样的文本谢谢,这正是我需要的。我需要位置和价值。:)非常感谢。
const text = `<html><body><a href="C:\Users\K\Documents\docker_command.txt">A.txt </a>
<a href="C:\Users\Documents\B.txt">B.txt </a>
<a href="C:\Users\K\Documents\D.txt">D.txt </a>
<a href="https:\\www.facebook.com">www.facebook.com </a>
</body></html>`;
const links: Link[] = parseLinks( text );
// can use like this
links.map( ({location, value}) => {
// do something here
})