HTML页面上的Xpath查询 - 语法?

时间:2009-10-20 19:16:14

标签: php xpath

我有这个网址: -

http://ask.recipelabs.com/users

我希望找到div id'pager'中的最高页码(在这种情况下是7)

我试过这个,但它返回零:

function getusers($url)
{
$doc = new DOMDocument;
$doc->loadhtml($url);
$xpath = new DOMXPath($doc);
$nodelist = $xpath->query('//span[@class="page-numbers"]');
echo 'there are ', $nodelist->length, ' span elements having class="page-numbers"';
}

我的语法不正确吗?然后我希望逐步完成数组并找到最高的数字。

由于

乔纳森

2 个答案:

答案 0 :(得分:0)

你可以尝试:

(//span[@class="page-numbers"][number(.) > 0])[last()]

这为您提供了最后一个仍然有数字作为其内容的节点。

答案 1 :(得分:0)

问题是您正在使用

$doc->loadhtml($url);

除非$ url命名错误,否则它是一个包含URL的字符串,而不是HTML。这样一个字符串解析了一个非常空的DOM,当然不是一个所有预期的XPath,等等......

也许你的意思是$doc = loadHTMLFile($url);