在解析网页时删除javascript代码

时间:2011-11-09 10:18:37

标签: php html regex parsing html-parsing

CURLfile_get_contents捕获网页内容时,删除内联javascrip代码的最简单方法是什么。我正在考虑正则表达式删除标签之间的所有内容;但正则表达式不是一种可靠的方法。

有没有更好的方法来解析html页面(只是删除javascript代码)?如果正则表达式仍然是最佳选择,那么最可靠的命令是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用DOMDocument及其removeChild()功能。像下面这样的东西应该让你去。

<?php

$doc = new DOMDocument;
$doc->load('index.html');

$page = $doc->documentElement;

// we retrieve the chapter and remove it from the book
$scripts = $page->getElementsByTagName('script');
foreach($scripts as $script) {
   $page->removeChild($script);
}

echo $doc->saveHTML();
?>