我想使用XPath在网页上搜索特定文本。
<?php
$url = 'http://www.barringtonsports.com/browse/hockey_sticks/show/325/list';
$html = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$found = $xpath->evaluate("//span[contains(text(),'blablabla')]");
if(!$found){
echo "NOT FOUND";
}
else{
echo "found";
}
?>
它总是给出输出,因为文本blablabla不在网页中。 问题出在哪儿? 我的evalute表达式是否适合搜索特定文本?
答案 0 :(得分:0)
evaluate不会为选择节点的XPath表达式返回布尔值,您必须使用:
$found = $xpath->evaluate("boolean(//span[contains(text(),'blablabla')])");