如何摆脱HTML页面中的所有JavaScript?

时间:2014-09-02 01:57:25

标签: javascript php html regex

我可以使用正则表达式来删除HTML中的<script>标签,如此

$html = preg_replace('#<script(.*?)>(.*?)</script>#is','', $html);

这样工作正常,但内联JavaScript怎么样?我发现我可以这样做

$nodes = $dom->getElementsByTagName('*');
foreach($nodes as $node)
{
  if ($node->hasAttribute('onload')){
    $node->removeAttribute('onload');
  }
}

这个问题是我必须找到所有属性,并继续发表if语句。我也看过图书馆,但我想保持小事。那有什么快捷的方法吗?如果我必须继续做我正在做的事情,还有任何带有内联属性的漂亮列表吗?

1 个答案:

答案 0 :(得分:2)

我想说,不要重新发明轮子,使用像http://htmlpurifier.org/这样的库来实现这一目标。