Corsi on-line
Chiudi
Newsletter:
  • Seguici su Facebook
  • Seguici su Twitter
  • Seguici su Google+
  • Seguici via RSS
  • Seguici col tuo Smartphone

Parsing dei feed RSS con SimplePie e PHP

Articolo scritto da Claudio Garau

I feed RSS rappresentano uno strumento ormai di larghissimo utilizzo nel Web, si tratta di una tecnologia semplice e di facile implementazione per condividere, diffondere e pubblicizzare efficacemente i contenuti delle proprie pagine Internet tramite il metalinguaggio XML.

SimplePie è una classe scritta in PHP che consente di effettuare il parsing di di feed RSS e Atom semplicemente richiamando i metodi riferiti agli oggetti che ne fanno parte. Usarla è semplicissimo e permette allo sviluppatore di risparmiare una grande quantità di lavoro.

(L'articolo continua più sotto...)

SimplePie è distribuita gratuitamente e può essere modificata sulla base delle proprie esigenze, ma già la sua configurazione di default permette di eseguire numerose utili operazioni.
Per usufruirne sarà sufficiente scaricarla dalla sezione downloads del sito del produttore e richiamarla grazie al costrutto require() all'interno delle pagine in cui vogliamo effettuare il parsing degli RSS:

require($_SERVER['DOCUMENT_ROOT'] . '/simplepie.inc');
Vediamo ora un semplice esempio del suo utilizzo, i commenti aiuteranno nella comprensione del codice proposto:
<?php
// richiamiamo la classe SimplePie 
require($_SERVER['DOCUMENT_ROOT'] . '/simplepie.inc'); 

// istanziamo l'oggetto contenente i metodi per il parsing del feed
$feed = new SimplePie(); 

// indichiamo il percorso assoluto al documento XML
$feed-> feed_url('http://www.sito.it/feed.xml'); 

// indichiamo il percorso alla cartella della cache
$feed-> cache_location($_SERVER['DOCUMENT_ROOT'] . '/cache'); 

// il feed verrà inizializzato tramite il metodo init
// vero motore della classe 
$feed-> init(); 

// introduciamo il metodo per il controllo dell'encoding della pagina
$feed-> handle_content_type(); 

/*
* Ora sarà possibile passare al codice HTML della pagina 
* all'interno della quale effettueremo il parsing del feed 
*/
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
<title>Pagina dei Feed</title> 
</head> 
<body>

<?php 
//introduciamo le informazioni che verranno mostrate dal feed
if ($feed->data)
{ 
  // mostriamo i titoli dei feed e linkiamoli verso
  // i siti Web di origine
  echo "<h3><a href=\"" . $feed->get_feed_link() . "\">" . $feed->get_feed_title() . "</a></h3>";

  // Indichiamo il numero massimo di feed che vogliamo mostrare
  // e passiamo alla loro visualizzazione
  $max = $feed->get_item_quantity(5); 
  for ($x = 0; $x < $max; $x++)
  { 
    $item = $feed->get_item($x);
    // mostriamo i collegamenti ai post con il relativo titolo, data e descrizione
    echo "<h2><a href=\"" . $item->get_permalink() . "\">" . $item-> get_title() . "</a></h2>";
    echo $item->get_date('j M Y') . "<br>" . $item->get_description(); 
  }
}
?> 
</body> 
</html>
Come è possible notare, l'utilizzo della classe è estremamente semplice, inoltre sono previste ultriori features per ricavare il massimo dai propri feed, una delle più importanti dà la possibilità di segnalare le news ai più noti servizi per la loro condivisione come Delicius e Digg:
<a href="<?php echo $item->add_to_delicious(); ?>">Del.icio.us</a> |
<a href="<?php echo $item->add_to_digg(); ?>">Digg this!</a> | 
<a href="<?php echo $item->add_to_newsvine(); ?>">Newsvine</a> 

Corsi
Corso LinuxCorso Linux
Guida completa al sistema open-source. A partire da 39 €.
Corso MySQLCorso MySQL
Gestione del database open-source. A partire da 49 €.
Corso PHPCorso PHP
Corso completo per la creazione di siti Web dinamici. A partire da 49 €.
Vedi anche...
Annunci

Mr.Webmaster

Pubblicità
Chi Siamo
Contattaci
Collabora
Note Legali
© 2003 - 2012 Mr.Webmaster - Il portale dei Webmaster Italiani - Tutti i diritti riservati | Powered by IKIweb Internet Media S.r.l. - PIVA 02848390122