获取没有 HTML 标签的文本

我正在从 Wordpress api 返回帖子,目前正在获取一个包含帖子的数组。我可以返回一个字符串,但它包含 HTML 标记。我使用过 textContent 和 innerText,但似乎没有用。

我目前正在返回<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job:  </p>

<p>最好的方法是什么 top 只返回没有and的内容<br>


莫回无
浏览 147回答 3
3回答

慕侠2389804

您需要将该字符串转换为 HTML 页面,然后定位“p”元素并提取其文本。就像是:var p = "<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job:&nbsp; </p>"var parser = new DOMParser();var htmlDoc = parser.parseFromString(p, 'text/html');console.log(htmlDoc.body.getElementsByTagName("P")[0].innerText);

米琪卡哇伊

&nbsp; 这更像是对另一种常见方式的警告。ATD 提到的 的常见替代方法DOMParser()是创建一个元素,将其添加为innerHTML并使用 获取它textContent。let tParser = document.createElement('div');tParser.innerHTML = "<p> info: 111,<br /> key: fdfd ,<br /> city: ,<br /> suburb: ,<br /> job:&nbsp; </p>";console.log(tParser.textContent)但请注意使用innerHTML. 一切都被解释为 HTML 并从您的站点执行。这意味着,不要将它添加到 DOM 或更好,尽量完全避免它。此外 MDN 提到以下内容:如果您的项目将接受任何形式的安全审查,那么使用 innerHTML 很可能会导致您的代码被拒绝。例如,如果您在浏览器扩展中使用 innerHTML 并将扩展提交到 addons.mozilla.org,它将不会通过自动审核流程。

湖上湖

您的问题已经得到解答:function extractContent(s) {&nbsp; var span = document.createElement('span');&nbsp; span.innerHTML = s;&nbsp; return span.textContent || span.innerText;};&nbsp; &nbsp;&nbsp;alert(extractContent("<p>Hello</p><a href='http://w3c.org'>W3C</a>"));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript