删除<script>以及Javascript的内容

Regex to remove <script> and its content in Javascript

本文关键字:Javascript script 删除 以及      更新时间:2023-09-26

我试图从html正文中删除脚本和它们的内容,这就是我到现在为止所做的

just_text = just_text.replace(/<'s*script[^>]*>(<'s*'/script[^>]*>|$)/ig, '');

它没有像我想的那样工作,我仍然得到了内容。

你能帮帮我吗?

谢谢

这些问题的答案总是一样的:不要使用正则表达式。相反,如果需要,可以解析HTML,修改DOM并将其序列化回HTML。

的例子:

var container = document.createElement('div');
container.innerHTML = just_text;
// find and remove `script` elements
var scripts = container.getElementsByTagName('script');
for (var i = scripts.length; i--; ) {
    scripts[i].parentNode.removeChild(scripts[i]);
}
just_text = container.innerHTML;

如果你想从页面本身删除script标签,它基本上是相同的:

var scripts = document.body.getElementsByTagName('script');
for (var i = scripts.length; i--; ) {
    scripts[i].parentNode.removeChild(scripts[i]);
}