我试图从页面中提取所有相关的URL和图像,并将它们放入一个数组中,下面的代码工作正常,除了它输出第一对数字的正确数字倍。我想也许我在指定XPATH时犯了错误,但我已经在3个不同的站点上测试过,每次都有相同的结果。PHP DOMXPATH&Array
$dom = new DOMDocument();
$dom->loadHtml($html);
$xpath = new DOMXPath($dom);
$items = $xpath->query("//div[@class=\"row\"]");
foreach ($items as $item) {
$value['url'] = $xpath->query("//div[@class=\"productImg\"]/a/@href",$item)->item(0)->nodeValue;
$value['img'] = $xpath->query("//div[@class=\"productImg\"]/a/img/@src",$item)->item(0)->nodeValue;
$result[] = $value;
}
print_r($result);
很明显,代码是不正确的,但我还没有能够缩小到违规部分。在有人建议使用正则表达式之前,我通常会这样做,但如果可能的话,我宁愿使用XPATH。
你是对的,谢谢! – 2010-08-24 19:14:25