我試圖從頁面中提取所有相關的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