使用JS Regular Expression从html中删除所有脚本标记

使用JS Regular Expression从html中删除所有脚本标记

我想在pastebin中从这个html中删除脚本标签

http://pastebin.com/mdxygM0a

我尝试使用下面的正则表达式

html.replace(/<script.*>.*<\/script>/ims, " ")

但它不会删除html中的所有脚本标记。它只删除内联脚本。请我需要一个可以删除所有脚本标签的正则表达式(内联和多行)。如果对我的样本http://pastebin.com/mdxygM0a进行测试,我们将非常感激

谢谢


沧海一幻觉
浏览 302回答 3
3回答

慕娘9325324

正则表达式是可以打败的,但是如果你有一个HTML的字符串版本,你不想注入DOM,它们可能是最好的方法。您可能希望将其置于循环中以处理类似于:<scr<script>Ha!</script>ipt>&nbsp;alert(document.cookie);</script>这是我做的,使用上面的jquery正则表达式:var&nbsp;SCRIPT_REGEX&nbsp;=&nbsp;/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi;while&nbsp;(SCRIPT_REGEX.test(text))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;text&nbsp;=&nbsp;text.replace(SCRIPT_REGEX,&nbsp;"");}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript