【发布时间】:2023-03-22 07:20:01
【问题描述】:
我需要一个可以从头到尾删除完整标签的正则表达式。
例如:
对于给定的字符串:
var str = "Hello <script> console.log('script tag') </script> World";
我需要一个输出:
"Hello World" // with full script tag including inner content removed
我只针对 RegEx 解决方案非常具体,因此不需要浏览器附加技巧。
如果这根本不可能,请通知。
我试过这个及其变体:
inputString.replace( /<\/?[^>]+(>|$)/g, "" );
但这并没有达到我想要的效果,只是删除了标签元素,留下了内部内容。我应该在表达式中创建哪些RegEx 组?
我不需要像type="text/javascript" 这样的地址,因为在我收到字符串之前它们已经被过滤了。
没有jQuery请。 (我需要将 RegEx 作为属性存储到我的过滤器对象中)。
帮助表示赞赏。
【问题讨论】:
-
所有询问使用正则表达式解析 HTML 的人必读:stackoverflow.com/questions/1732348/…
-
已经在我的 Stack 文件夹中为该答案添加了书签,不想简单地增加其视图。我不需要 Chuck Norris RegEx 来匹配标签。我的条件是有限的。给定一组有限的条件,这是可以做到的!
标签: javascript html regex