gpt4 book ai didi

javascript - 如何在不创建 HtmlElement 的情况下从 HTML 字符串中提取 textContent?

转载 作者:可可西里 更新时间:2023-11-01 13:19:15 25 4
gpt4 key购买 nike

我最近遇到一个问题,我需要在将数据显示在屏幕上之前从数据中去除 html 标签。
数据是这样来的:

<p><span style="color: rgb(68, 68, 68);">Sample data which i want to get.</span></p>

我尝试了什么
为了解决这个问题,我创建了一个 div,用 innerHtml 添加了 html,并用 textContent 提取了文本。

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

以上代码摘自stackoverflow。

问题
我担心这样做是否正确,因为每次我们调用 strip 函数时都会创建额外的 div。

问题
有没有更好的方法来实现这一点?

最佳答案

也许这对你有帮助。

以下示例使用另一种方法。它不是提取文本,而是使用正则表达式删除标签,假设您的数据是 html 字符串。

限制:如果您的文本内容包含 < 或 > 字符,则此正则表达式不起作用。如果这是一个问题,您需要修改正则表达式。

var str = '<p><span style="color: rgb(68, 68, 68);">Sample data which i want to get.</span></p>';
var str2 = '<p><span style="color: rgb(68, 68, 68);">Sample data which i <strong>want</strong> to get.</span></p>';

function strip(html) {
return html.replace(/<\s*[^>]*>/gi, '');
}

console.log(strip(str));
console.log(strip(str2));

关于javascript - 如何在不创建 HtmlElement 的情况下从 HTML 字符串中提取 textContent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55208675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com