使用php文档从网页中提取文本

使用php文档从网页中提取文本,php,html,domdocument,text-extraction,Php,Html,Domdocument,Text Extraction,我有以下脚本,除了两件事外,几乎可以正常工作: 我仍然有一些未知的标签,如,或 我也有javascript脚本,我试图用//text()[not(self::script)]排除它们,但这破坏了xpath 脚本: $contents = file_get_contents("http://www.w3schools.com/php/php_xml_dom.asp"); $dom = new DOMDocument(); @$dom->loadHTML($contents); $dom-

我有以下脚本,除了两件事外,几乎可以正常工作:

  • 我仍然有一些未知的标签,如
  • 我也有javascript脚本,我试图用
    //text()[not(self::script)]
    排除它们,但这破坏了xpath
脚本:

$contents = file_get_contents("http://www.w3schools.com/php/php_xml_dom.asp");
$dom = new DOMDocument();
@$dom->loadHTML($contents);
$dom->preserveWhiteSpace = false;
$xpath = new DOMXPath($dom);
// see http://www.w3schools.com/xpath/xpath_syntax.asp
$hrefs = $xpath->evaluate("//text()");
for ($i = 0; $i < $hrefs->length; $i++)
  echo $hrefs->item($i)->nodeValue;
$contents=file\u get\u contents(“http://www.w3schools.com/php/php_xml_dom.asp");
$dom=新的DOMDocument();
@$dom->loadHTML($contents);
$dom->preserveWhiteSpace=false;
$xpath=newdomxpath($dom);
//看http://www.w3schools.com/xpath/xpath_syntax.asp
$hrefs=$xpath->evaluate(“//text()”);
对于($i=0;$i<$hrefs->length;$i++)
echo$hrefs->item$i->nodeValue;
您有更好的解决方案从网页中提取文本吗

注意:我可以简单地使用DOMDocument,但我想坚持使用DOMDocument。

我一直都在使用它,每次都很成功