从纯 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中文网其他相关文章!