我可以使用正则表达式来摆脱 <script>
HTML 中的标签如下所示
$html = preg_replace('#<script(.*?)>(.*?)</script>#is','', $html);
这样就可以了,但是内联 JavaScript 呢?我发现我可以这样做
$nodes = $dom->getElementsByTagName('*');
foreach($nodes as $node)
{
if ($node->hasAttribute('onload')){
$node->removeAttribute('onload');
}
}
问题是我必须找到所有属性,并继续创建 if
声明。我也见过图书馆,但我想让东西保持小规模。那么有没有什么快速的方法呢?如果我必须继续做我正在做的事情,还有任何带有内联属性的不错的列表吗?
最佳答案
我想说,不要重新发明轮子,使用像 http://htmlpurifier.org/ 这样的库来实现这一点。
关于javascript - 如何从 HTML 页面中删除所有 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25614825/