我有一个从网站(4chan)抓取图像的脚本。它必须通过从锚标签而不是图像获取网址来实现,否则它只会获得缩略图。问题是图像的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;
}
}
}
提前感谢您的帮助!
答案 0 :(得分: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;
}