繁体   English   中英

在JavaScript中从字符串的开头到结尾删除HTML内容组

[英]Remove HTML content groups from start to end of string in JavaScript

我需要一个可以从头到尾删除完整标签的正则表达式。
例如:
对于给定的字符串:

var str = "Hello <script> console.log('script tag') </script> World";

我需要一个输出:

"Hello  World" // with full script tag including inner content removed

我非常RegExRegEx解决方案,因此不需要浏览器附加技巧。
如果根本不可能,请通知。

我试过这个及其变化:

inputString.replace( /<\/?[^>]+(>|$)/g, "" );

但这并没有实现我想要的,只删除标签元素,留下内在的内容。 我应该在表达式中创建哪些RegEx组?

我不需要解决类似type="text/javascript" ,因为它们在我收到字符串之前已经过滤了。 没有jQuery plz。 (我需要将RegEx存储为我的过滤器对象的属性)。

帮助赞赏。

这是纯正的正则表达式解决方案:

var str = "Hello <script> console.log('script tag') </script> World";
var repl = str.replace(/<([^.]+)>.*?<\/\1>/ig, '');
//=> "Hello  World"

假设开始和结束标签之间没有< OR >

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM