Corsi on-line

Ripulire una pagina dai tag HTML

In alcuni casi può rivelarsi particolarmente utile eliminare da una pagina tutti i tag HTML in modo che di questa venga restituito unicamente il testo; ecco una semplice funzione che permetterà di svolgere questa funzione:

function get_testo($html){
// la prima riga elimina il codice JavaScript
$parser = array('@<script[^>]*?>.*?</script>@si',
// eliminazione degli elementi di stile
'@<style[^>]*?>.*?</style>@siU',
// ripulitura dal codice PHP
'@<[?]php[^>].*?[?]>@si',
// ripulitura dai tag HTML
'@<[\/\!]*?[^<>]*?>@si',
// eliminazione dei commenti HTML
'@<![\s\S]*?--[ \t\n\r]*>@');
// sostituzione dei tag
$testo = preg_replace($parser, '', $html);
// valore di ritorno
return $testo;
}

Come è possibile osservare, lo script non si limita ad eliminare i tag HTML, ma tutti gli elementi che non sono testo puro; utilizzare la funzione sarà molto semplice:

$pagina = file_get_contents('http://www.sito.it');
$testo = get_testo($pagina);
Post correlati
  • ciao
    sono il solito
    $parser ?? da dove salta fuori?

  • Claudio Garau

    E’ l’ex variabile $search

I più letti del mese
Tematiche