0

我有一个从网站 (4chan) 抓取图像的脚本。它必须通过从锚标签而不是图像中获取 url 来做到这一点,否则它只会获取缩略图。问题是图像的 url 出现在两个锚标签中,因此每个图像出现两次。

我尝试将它们放入一个数组中,然后应用 array_unique() 但它不起作用。

这是我的代码:

foreach($html->find('a') as $element) {
    if (strpos($element->href, "/src/")){
    $a = $element->href;    
    $ht = "<img src=\"" . $a. "\" />\n";
    $arr = array($ht);
    $arr = array_unique($arr);
    foreach($arr as &$b) {
            echo $b;
        }
    }
}

提前感谢您的帮助!

4

1 回答 1

1

您没有添加到数组中,而是$arr在每次迭代中重新定义。尝试这个:

$arr = array();
foreach($html->find('a') as $element) {
    if (strpos($element->href, "/src/")){
        $a = $element->href;    
        $ht = "<img src=\"" . $a. "\" />\n";
        $arr[] = $ht; 
    }
}
$arr = array_unique($arr);
foreach($arr as &$b) {
    echo $b;
}
于 2012-04-09T14:37:39.530 回答