替换 nodejs 中非自闭的 br 或 img 标签

Rob*_*rto 2 javascript regex node.js

问题与Close all HTML unclosed IMG tags 相同,但提供的正则表达式(<img[^>]+)(?<!/)>需要后视支持 - nodejs 没有。

如何在 nodejs 中实现相同的结果?

源 HTML 是由另一个应用程序生成的。

nha*_*tdh 5

稍微改变正则表达式:

/(<img[^>]*[^\/>])>/
Run Code Online (Sandbox Code Playgroud)

或另一种方式(很可能更慢):

/(<img(?:(?!\/>)[^>])+)>/
Run Code Online (Sandbox Code Playgroud)

我尽量不将至少 1 个字符的假设更改为>,即<img>不会与您的正则表达式匹配/(<img[^>]+)(?<!\/)>/,也不会与我上面建议的正则表达式匹配。

如果你想<img>被正则表达式匹配(以便你可以修改它):

/(<img(?:[^>]*[^\/>])?)>/
Run Code Online (Sandbox Code Playgroud)