Loading ...

Estrapolare immagini da HTML con PHP

Estrapolare immagini da HTML con PHP

Ho deciso di riscrivere completamente questo articolo, perchè l'esempio che c'era prima non mi funzionava più.

Invece il codice qua sotto lo sto usando senza problemi.

Quello che vogliamo ottenere sono tutte le immagini di una pagina web usando PHP e DOMDocument.

Solo che a me personalmente questo non ha funzionato:

$dom = new DOMDocument();
$dom->loadHTML("URL_PAGINA_WEB");
$imgs = $dom->getElementsByTagName('img');

if ($imgs->length > 0) {
    foreach ($imgs as $img) {
        echo $img->getAttribute('src');
    }
} else {
    echo 'Nessun elemento trovato!';
}

Se avete un file HTML locale, o dovete parsare direttamente del codice, allora state a posto con questo esempio; se, invece, dovete interrogare un url remoto, dovete aggiungere file_get_contents:

<?php

$url = 'URL_PAGINA_WEB';
$html = file_get_contents($url);
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
$imgs = $dom->getElementsByTagName('img');

if ($imgs->length > 0) {
    foreach ($imgs as $img) {
        echo $img->getAttribute('src');
    }
} else {
    echo 'Nessun elemento trovato!';
}

Questo mi ha funzionato senza problemi!

Enjoy!