首页 >web前端 >js教程 >如何使用纯 JavaScript 有效地从文本中删除 HTML 标签?

如何使用纯 JavaScript 有效地从文本中删除 HTML 标签?

Linda Hamilton
Linda Hamilton原创
2024-12-27 07:11:13594浏览

How to Efficiently Remove HTML Tags from Text Using Plain JavaScript?

从纯 JavaScript 中的文本中剥离 HTML 标签

从字符串中剥离 HTML 标签是 Web 开发中的一项常见任务。虽然有可用于此目的的库,但可以使用纯 JavaScript 来实现此目的。

使用浏览器的 DOM

如果您的代码在浏览器中运行,最简单的方法做法是让浏览器来处理HTML解析。这可以通过创建临时 DOM 元素并将其 innerHTML 属性设置为 HTML 字符串来完成。生成的 textContent 或 insideText 属性将包含不带 HTML 标记的文本。

function stripHtml(html) {
   let tmp = document.createElement("DIV");
   tmp.innerHTML = html;
   return tmp.textContent || tmp.innerText || "";
}

警告: 在处理不受信任的输入(例如用户生成的内容)时,应谨慎使用此方法。

使用 DOMParser

另一种选择方法是使用 DOMParser 接口,该接口在现代浏览器中可用。这允许您在不创建 DOM 元素的情况下解析 HTML 字符串。

function stripHtml(html) {
   const doc = new DOMParser().parseFromString(html, "text/html");
   return doc.body.textContent;
}

正则表达式

正则表达式也可以用于从字符串中去除 HTML 标签,但是与上述方法相比,这种方法通常效率较低且稳健。

function stripHtml(html) {
   return html.replace(/<.+?>/g, "");
}

请记住考虑以下方法的限制和安全影响为您的用例选择适当的解决方案时的每种方法。

以上是如何使用纯 JavaScript 有效地从文本中删除 HTML 标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn