2016-06-28 7 views
1

Ich schrieb den Code Schlag alle einzigartige Links von einer URL zu bekommen:array_unique() in PHP einfache html dom

include_once ('simple_html_dom.php'); 

$html = file_get_html('http://www.example.com'); 

foreach($html->find('a') as $element){ 
    $input = array($element->href = $element->href . '<br />'); 
    print_r(array_unique($input));} 

aber ich kann wirklich nicht verstehen, warum es die duplizierten Links zu zeigt! gibt es irgendein Problem mit der Funktion array_unique und simple html dom? und es ist eine andere Sache, die ich an dem Problem in Zusammenhang erraten: Wenn Sie dies ausführen Sie alle Link sehen, dass es in einem Schlüssel extrahiert sind ich dies bedeuten:

array(key => all values) 

Gibt es irgend jemand, der dieses Problem lösen kann?

+1

'$ element-> href = $ element-> href' was dieser Code ist für? –

+0

Und Sie überschreiben jedes Mal $ Input. – AbraCadaver

Antwort

1

Ich glaube, Sie wollen es wie folgt aus:

$temp = array(); 
foreach($html->find('a') as $element) { 
    $temp[] = $element->href; 
} 

echo '<pre>' . print_r(array_unique($temp), true) . '</pre>';