gpt4 book ai didi

javascript - 正则表达式删除除
之外的所有 html 标签

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:01 35 4
gpt4 key购买 nike

我正在尝试在 javascript 中创建一个正则表达式以从输入字符串中删除所有 html 标签,<br> 除外。 .

我使用 /(<([^>]+)>)/ig对于标签并尝试了一些方法,例如向其中添加 [^(br)] ,但我现在感到困惑。

有人能帮忙吗?我敢肯定这将是 SO 大师之间的速度竞赛,所以如果答案解释了表达式的逻辑,我会选择它而不是其他人。

编辑:

对于所有“不要这样做”的人,让我引用 Stack Overflow 中的以下内容

While it is true that asking regexes to parse arbitrary HTML is like asking Paris Hilton to write an operating system, it's sometimes appropriate to parse a limited, known set of HTML.

在这种特殊情况下,它是一个 div 中的一堆文本,在许多页面中保持一致。我只是想摆脱用户包含 span、strongs 和其他一些格式标签的少数情况(最多 1%)。花费时间对其进行正则表达式是不值得的,因为它在我处理的数千页中几乎没有发生过。如果您有更好、更快地实现的想法,请随时将其作为答案发布;)

编辑2

这么多评论,我想加个免责声明:使用 Regexp 解析 HTML 是不好的。它不会始终如一地工作,并且有更好的方法。已经提到了 Domparser; Node.js 上有 Cheerio 或 jsdom,还有更多可以正确解析 HTML 文档的库(在 99% 的情况下)。在那种情况下,它更像是一个恰好包含几个 <...> 的字符串。我需要删除。

最佳答案

试试这个:

/(<((?!br)[^>]+)>)/ig

关于javascript - 正则表达式删除除 <br> 之外的所有 html 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25877030/

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