3 回答
TA贡献1719条经验 获得超6个赞
您需要将该字符串转换为 HTML 页面,然后定位“p”元素并提取其文本。就像是:
var p = "<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job: </p>"
var parser = new DOMParser();
var htmlDoc = parser.parseFromString(p, 'text/html');
console.log(htmlDoc.body.getElementsByTagName("P")[0].innerText);
TA贡献1998条经验 获得超6个赞
这更像是对另一种常见方式的警告。
ATD 提到的 的常见替代方法DOMParser()是创建一个元素,将其添加为innerHTML并使用 获取它textContent。
let tParser = document.createElement('div');
tParser.innerHTML = "<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job: </p>";
console.log(tParser.textContent)
但请注意使用innerHTML. 一切都被解释为 HTML 并从您的站点执行。这意味着,不要将它添加到 DOM 或更好,尽量完全避免它。
此外 MDN 提到以下内容:
如果您的项目将接受任何形式的安全审查,那么使用 innerHTML 很可能会导致您的代码被拒绝。例如,如果您在浏览器扩展中使用 innerHTML 并将扩展提交到 addons.mozilla.org,它将不会通过自动审核流程。
TA贡献2003条经验 获得超2个赞
您的问题已经得到解答:
function extractContent(s) {
var span = document.createElement('span');
span.innerHTML = s;
return span.textContent || span.innerText;
};
alert(extractContent("<p>Hello</p><a href='http://w3c.org'>W3C</a>"));
添加回答
举报