estrarre links da pagina html con il dom di php5

Se abbiamo necessità, nella nostra applicazione web, di estrarre tutti i link presenti in una pagina web, una soluzione comoda è quella di utilizzare l’oggetto DOM di PHP5.

Vediamo come realizzare una semplice funzione che, tramite la classe DOMDocument, restituisce gli attributi href e text sottoforma di array multidimensionale:

function getUrlFromHTML($url) {
 
    $xml = new DOMDocument();
 
    @$xml->loadHTMLFile($url);
 
    $links = array();
 
    foreach($xml->getElementsByTagName('a') as $link) {
        $links[] = array('url' => $link->getAttribute('href'), 'text' => $link->nodeValue);
    }
 
    return $links;
}
 
$arr = getUrlFromHTML("http://www.emawebdesign.com");

Servendoci di un ciclo FOR, ecco come possiamo visualizzare il contenuto dell’array:

for ($i=0;$i<count($arr);$i++) {
echo $arr[$i]["url"] ."<br />";
echo $arr[$i]["text"] ."<br />";
}

Semplice e comodo 😉

NO SPAM. Non fornirò la tua email a terzi e riceverai solo contenuti che ti interessano sugli argomenti che tratto e potrai cancellarti quando vuoi con un link che trovi in tutte le email.