我正在尝试从 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]);
}
关于javascript - 正则表达式删除 Javascript 中的 <script> 及其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17231194/