我知道這個解決方案很簡單,但它一直在打滑我的思維。當我使用此代碼解析頁面並打印$links
陣列時,所有href
部分都正確,但img
部分僅打印頁面上找到的最後一個src
元素。嵌套的foreach循環
$doc = new DOMDocument();
$doc->loadHTML($html);
$links = array();
$images = $doc->getElementsByTagName("img");
$arr = $doc->getElementsByTagName("a");
foreach($arr as $item) {
// get links
$href = $item->getAttribute("href");
// get images.
foreach ($images as $item) {
$img = $item->getAttribute('src');
}
$links[] = array(
'href' => $href,
'img' => $img
);
}
print_r(array_values($links));
這是因爲'$ img'得到與每個迭代一個新值代替但你只把'$ *循環結束後,將img'放入新數組*中。 –
把這個第二foreach $ img []和使用$ img,我認爲它的工作 – RaMeSh
這是什麼代碼試圖完成?在這種情況下嵌套'foreach'循環似乎很奇怪。 – Nate