我正在尝试从页面中提取所有相关的 URL 和图像并将它们放入一个数组中,下面的代码工作正常,除了它一遍又一遍地输出第一对数字正确的次数。我想也许我在指定 XPATH 时犯了错误,但我已经在 3 个不同的站点上对其进行了测试,每次都得到相同的结果。
$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。