我尝试使用正则表达式从字符串中删除外部脚本标记。
var data = "<p>Valid paragraph.</p><p>Another valid paragraph.</p><script>alert123</script><script type='text/javascript' src='123'>Dangerous scripting!!!</script><script type='text/javascript' src='123'/><p>Last final paragraph.</p>";
data.replace(/<script[^>]\(\src=\)*>(?:(?!<\/script>)[^])*<\/script>/g, "")
输出应该是
"<p>Valid paragraph.</p><p>Another valid paragraph.</p><script>alert123</script><p>Last final paragraph.</p>";
但它没有验证。 如何解决这个问题?
答案 0 :(得分:0)
在这里我测试了一个正则表达式,我认为这就是你要找的:
(<script[^>].*<\/script>)|(<script[^>].*\/\s?>)
https://regexr.com/5n377 看看效果!
(<script[^>].*?<\/script>)|(<script[^>].*\/\s?>)
^^^ here Edited