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

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

Barbara Streisand
Barbara Streisand原创
2024-12-25 10:23:14322浏览

How Can I Remove HTML Tags from Text Using Only Plain JavaScript?

在纯 JavaScript 中剥离 HTML 标签:全面探索

从文本中剥离 HTML 标签是各种编程应用程序中的常见要求。虽然 JavaScript 提供了几种内置方法和库来完成此任务,但本文深入研究了使用纯 JavaScript 实现此任务的复杂细节,无需外部依赖。

在缺乏 jQuery 或基于正则表达式的解决方案等库的情况下,最直接的方法是利用浏览器的固有功能来处理 HTML。通过创建临时文档片段并将 HTML 分配给其 insideHTML 属性,浏览器可以无缝解析内容并返回不带任何标签的文本。

以下 JavaScript 函数举例说明了这种方法:

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

该函数将 HTML 字符串作为输入并返回纯文本。然而,值得注意的是,不鼓励在用户生成的 HTML 上使用此方法,因为它可能会导致恶意代码执行。

对于这些情况,更安全的方法是利用 DOMParser,这是一个引入的 API在 HTML5 中:

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

此函数使用 DOMParser 从 HTML 字符串创建文档对象,然后从文档的根元素中提取文本内容。这种方法提供了增强的安全性和对输入的控制,使其适合处理潜在不受信任的 HTML。

选择适当的技术取决于特定的用例和安全考虑。对于大多数场景,使用innerHTML 的第一种方法既简单又高效。但是,如果处理不受信任的输入,建议使用 DOMParser 以提高安全性和可靠性。

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

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