« 22 Ottobre 2004 - Cronache dalla rete | Principale | Provocazioni sui sentieri dei CSS »
22/10/04
Un RSS Reader in php facile e veloce
Requisiti: Per poter usare questo script il php deve avere il supporto XML installato. Con questo script possiamo facilmente pubblicare sul nostro sito i contentuti che altri condividono in Rete attraverso un canale RSS.Scegliamo quindi un sito da cui prendere il nostro RSS. I siti che offrono la syndication dei contenuti possono facilmente essere individuati tramite le icone [RSS], [XML], [RDF]. Noi prenderemo come esempio i post del weblog di Paolo Valdemarin.
Di seguito c'è tutto il codice dell'applicazione che possiamo facilmente copiare ed incollare per creare il nostro RSS Reader.
<?php
$insideitem = false;
$tag = '';
$title = '';
$description = '';
$link = '';
function startElement($parser, $name, $attrs) {
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
$tag = $name;
} elseif ($name == 'ITEM') {
$insideitem = true;
}
}
function endElement($parser, $name) {
global $insideitem, $tag, $title, $description, $link;
if ($name == 'ITEM') {
printf('<p><b><a href=\'%s\'>%s</a></b><br>',
trim($link),trim($title));
printf('%s</p>'."\n",trim($description));
$title = '';
$description = '';
$link = '';
$insideitem = false;
}
}
function characterData($parser, $data) {
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
switch ($tag) {
case 'TITLE':
$title .= $data;
break;
case 'DESCRIPTION':
$description .= $data;
break;
case 'LINK':
$link .= $data;
break;
}
}
}
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, 'startElement', 'endElement');
xml_set_character_data_handler($xml_parser, "characterData");
$fp = fopen('http://paolo.evectors.it/italian/rss.xml','r')
or die('Error reading RSS data.');
while ($data = fread($fp, 4096)) {
xml_parse($xml_parser, $data, feof($fp))
or die(sprintf('XML error: %s at line %d',
xml_error_string(xml_get_error_code($xml_parser)),
xml_get_current_line_number($xml_parser)));
}
fclose($fp);
xml_parser_free($xml_parser);
?>
Come potete notare la funzione fopen() apre il link al file xml che abbiamo scelto. Per quanto riguarda le funzioni XML del php, se volete approfondire e/o capire il loro funzionamento vi rimando a questo link: Funzioni relative al parser XML.
Questa piccola applicazione è abbastanza completa. Il suo scopo è quello di darvi la possibilità di creare un RSS Reader nel minor tempo possibile. Per personalizzare la visualizzazione potete modificare i tag HTML nella funzione endElement().
Inviato da Lorenzo Torello alle 10:21 in Php | Permalink
TrackBack
TrackBack URL per questo post:
http://www.typepad.com/services/trackback/6a00d8341c706653ef00d834358a1253ef
I blog che linkano questo post: Un RSS Reader in php facile e veloce
Commenti
Ottimo esempio dal punto di vista didattico. Se qualcuno volesse una soluzione in php potente e gratuita, che funzioni in quattro righe di codice e che supporti tutti i formati da rss 0.9 ad atom può guardare qui: http://magpierss.sourceforge.net/
Inviato da: Cristian Vidmar | 22 ottobre 2004 alle 14:31
Vorrei avere qualche tutorial per poter eseguire delle funzioni nei database mysql con php....grazie
Inviato da: roberto | 24 giugno 2005 alle 15:10
Ciao sto testando questo parser nel mio sito solo che vedo la codifica dei caratteri accentati in modo sbagliato.
In + non vedo il numero dei commenti ed i tag come nel link di esempio.
Uso wordpress 2.2
Qualche aiutino?
Ciao Grazie
Inviato da: stew | 13 luglio 2007 alle 02:56



