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

本文探讨了使用正则表达式删除HTML中的脚本标记的潜在问题,并提出了一种替代方法:通过创建div元素,设置innerHTML,然后移除所有script标签来确保脚本不被执行。这种方法可以用于在不执行脚本的情况下处理HTML内容。
摘要由CSDN通过智能技术生成

尝试使用正则表达式删除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('

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值