1

我想使用 javascript 替换(删除)[code] bbcode 之外的 html 标签。例如:

 <script>these</script> [code]<script>alert</script>[/code]<script>that</script>

应该成为

 these [code]<script>alert</script>[/code]that

如何使用 RegEx 替换/删除 [代码] 之外的标签?

4

2 回答 2

3

将此替换/(\[code\][\s\S]*?\[\/code\])|<[\s\S]*?>/g$1

your_string.replace(/(\[code\][\s\S]*?\[\/code\])|<[\s\S]*?>/g, '$1');

它会首先找到所有[code]标签,保存它们,然后它会找到剩余的 html 标签(不会[code]标签中)。

于 2012-08-11T12:17:41.563 回答
-2

好的,我找到了解决方案:

replace(/<(?=[^\[]*\[\/code\])/gi,"&_lt_;");
replace(/>(?=[^\[]*\[\/code\])/gi,"&_gt_;");

DO OTHER REPLACEMENT/CUSTOMIZATION HERE

replace(/&_lt_;/gi,"<");
replace(/&_gt_;/gi,">");

那它!:)

于 2012-08-11T14:00:08.323 回答