使用JS正则表达式从html删除所有脚本标签

使用JS正则表达式从html删除所有脚本标签,第1张

使用JS正则表达式从html删除所有脚本标签

尝试使用正则表达式删除HTML标记是有问题的。您不知道其中包含什么脚本或属性值。一种方法是将其作为div的innerHTML插入,删除所有脚本元素并返回innerHTML,例如

  function stripscripts(s) {    var div = document.createElement('div');    div.innerHTML = s;    var scripts = div.getElementsByTagName('script');    var i = scripts.length;    while (i--) {      scripts[i].parentNode.removeChild(scripts[i]);    }    return div.innerHTML;  }alert( stripscripts('<span><script type="text/javascript">alert('foo');</script></span>'));

请注意,目前,如果使用innerHTML属性插入浏览器,则浏览器将不会执行脚本,并且可能永远不会执行该脚本,特别是因为未将元素添加到文档中。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5509304.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存