Я пытаюсь разобрать действительно простой HTML-документ с некоторым xpath. Всего 20 изображений и 20 ссылок. Моя единственная цель - применить каждую ссылку к соответствующему изображению.
Мой текущий код ниже возвращает каждое изображение несколько раз . Так, например, к первому изображению, которое в настоящее время отображается 20 раз, к каждому экземпляру применяется отдельная ссылка. Таким образом, к экземпляру № 1 изображения № 1 применена ссылка № 1, к экземпляру № 2 изображения № 1 применена ссылка № 2 и т. Д.
Что я хочу сделать, так это включить каждое изображение один раз и применить к нему соответствующую ссылку, чтобы у меня было 20 изображений с соответствующими ссылками на них. Я почти уверен, что мне нужно объединить две функции foreach, но я не совсем уверен, как это сделать. Любая помощь будет отличной, спасибо, ребята.
foreach ( $images = $xpath->query("//div[@class='image']//a//img") as $image )
{
foreach ( $links = $xpath->query("//div[@class='image']//a") as $link )
echo "<a href='" . $link->getAttribute( 'href' ) . "'><img src='" . $image->getAttribute( 'src' ) . "'</a>", "\n";
}