Я пытаюсь извлечь все релевантные 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 сейчас, если это возможно.