我想使用正则表达式从html字符串中删除<script>
标签。
我有以下有效的代码,但是当您放回脚本时不起作用:
function removeScriptsFromHtmlStr(html) {
const regex = /<script(?:(?!\/\/)(?!\/\*)[^'"]|"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\/\/.(?:\n)|\/\*(?:(?:.|\s))*?\*\/)*?<\/script>/;
const result = html.replace(regex, '');
return result;
}
例如:
通过功能运行此程序将正常工作
<script>alert(document.cookie);</script>
但是这不会
<script>alert(document.cookie);</script><script>alert(document.cookie);</script>
有人可以帮助我更新正则表达式以解决此问题吗?谢谢!
延迟加载应该可以解决问题<script>(.+?)<\/script>