ページから関連するすべての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を使用したいと思います。