【发布时间】:2012-03-18 12:57:08
【问题描述】:
我有以下脚本几乎可以正常工作,除了两件事:
- 我还有未知标签,例如
<note>、<to>或<?xml version="1.0" encoding="ISO-8859-1"?> - 我也有 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;
您有更好的解决方案来从网页中提取文本吗?
注意:我可以简单地使用strip_tags,但我想坚持使用 DOMDocument。
【问题讨论】:
标签: php html domdocument text-extraction