Archive

Archive for August, 2011

Parsing del sorgente HTML in php


Una delle richieste più frequenti ma al tempo stesso più complicate da effettuare (bene intendo) è
l’analisi del codice sorgente di una pagina html soprattutto se fatta da terzi.
A questo scopo con i metodi abbinati a questo post potrete avere un oggetto che rispecchia la pagina
trasformando ogni elemento in un oggetto DOM in modo da poter essere interrogato con le farie funzioni
già note a php con le elaborazioni dei tags XML.

 

html_parser_functions.pdf

Ecco un esempio di utilizzo con codice e dati inventati e non veritieri
al solo scopo didattico:

//Apro il link di una pagina valida
$dom = file_get_dom($link_ad_indirizzo_valido);

//Prendo, per esempio, un tag div di cui mi interessa prelevarne il contenuto
$divDescrizione = $dom->find("div[id=id_del_div]");

//Inizializzo la variabile che conterrà la descrizione
$descr = ""; //"Descrizione non trovata :(";

//Se il div non è stato trovato per qualche problema la descrizione
//sarà anch'ella vuota
if(!empty($divDescrizione)) {
   //Prelevo la descrizione dal primo div che mi restituisce il metodo
   $descr = $divDescrizione[0]->innertext();

   //Eventualmente posso trasformare il tutto in utf8 qualora ce ne fosse la necessità
   $descr = utf8_encode($descr);
}

//A questo punto posso stampare, restituire o fare quello che più mi aggrada con la mia variabile
 echo $descr;

Come avrete potuto notare in questo modo il parsing e la ricerca di oggetti all’interno di un codice HTML ben formattato e soprattutto
corretto, non è più una cosa così complessa come farlo manualmente.

Attendo i Vs. commenti

Categories: Functions, PHP, XHTML e HTML
%d bloggers like this: