2012-04-09 14 views
0

私はウェブサイト(4chan)から画像を掻き集めるスクリプトを持っています。画像ではなくアンカータグからURLを取得することによってそれを行う必要があります。そうしないと、サムネイルしか取得できません。問題は、画像のURLが2つのアンカータグに表示されるため、各画像が2回表示されることです。アレイから重複した値を削除する - array_unique()が動作しない

私はそれらを配列に入れてから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; 
     } 
    } 
} 

ありがとう:

は、ここに私のコードです!

答えて

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; 
} 
+0

は、エラーの多くを与える、全てが起因しているように見える更新 – AviateX14

+0

コード編曲、 '$のarr'は現在、先頭に初期化されます。 – bfavaretto

+0

これは重複の量を増やします – AviateX14

関連する問題