【发布时间】:2021-01-18 15:45:08
【问题描述】:
我使用带有 ngRx 框架的 anguler 开发项目。我使用带有 HTML 的 TypeScript 来开发前端。我的数据库保存了如下所示的“HTML”格式文本。
"<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>"
这个文本,我直接使用<dev INNERHTML ={{stringText }} \> 直接渲染在html文件中。
但是我的项目使用 JXBrowser 并且由于它的配置,这不能在默认浏览器中直接打开,点击链接。
对于这项工作,我需要将 href 位置作为 URL,并在单击时将其传递给 .ts 文件。
我想,它会变成这样<a role="button" click='getLink(myText)'> {{getLink(value}} </a>'。所以,创建这个,我需要该文本放置一个包含“位置”和值的数组。接下来,我在 HTML 文件中迭代该数组。
我需要一些专家的帮助来做这件事吗?我正在努力将文本上方的地图映射到这种字符串数组(例如:array[hrfeLink][value])。希望一些专家帮助我。
------------更新---------------
根据评论,我会尝试这种方式,并且可以取链接位置。但仍然无法取值。
let parser = new DOMParser();
let doc = parser.parseFromString(info, "text/html");
let x = doc.getElementsByTagName('a');
for (let i = 0; i < x.length ; i++) {
console.log(x[i].getAttribute('href'));
}
【问题讨论】:
-
有两种方法:您可以使用正则表达式从 HTML 字符串中提取值,或者您可以将parse the HTML 放入 javascript 文档中。我建议解析。
-
你能不能,请给我一个例子,我如何使用 domParser。我将创建 let x =new DOMParser() 对象。和 parser ->let doc = parser.parseFromString(stringHTML, "application/html") text like that
标签: html string typescript dom pattern-matching