|
Home -> Manuali e Tutorials -> Guida PHP -> Lettore Feed RSS
Scarica il tutorial | Stampa il tutorial | Cerca nel sito
REALIZZARE UN LETTORE DI FEED RSS IN PHP
Cosa sono i Feed RSS
I feed RSS sono file XML, che seguono degli standard per garantire l'accesso e la lettura del loro contenuti a browser, Feed Reader e a script (nel nostro caso PHP). Questi contengono informazioni su news, articoli o altro ancora... Per ogni articolo viene fornito il titolo, una descrizione, l'autore, la data e l'ora di pubblicazione, nonche' il link per leggere l'intero articolo. Vengono molto utilizzati dai blog, ma anche da portali che vogliono offrire ai propri utenti gli ultimi aggiornamenti in tempo reale.
Lo script PHP per leggere i feed RSS
Con lo script php sotto presentato potrete leggere e pubblicare direttamente sul vostro sito web tutte le notizie presenti su qualsiasi tipo di feed RSS (.xml di estensione).
Qui è mostrata un'anteprima dell'applicazione, mentre sotto il codice sorgente:
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="style.css">
</HEAD>
<BODY>
<ul class=p24>
<?php
$insideitem = false;
// Possibili voci del singolo Feed
$tag = "";
$title = "";
$description = "";
$link = "";
function startElement($parser, $name, $attrs)
{
global $insideitem, $tag, $title, $description, $link;
if ($insideitem) {
$tag = $name;
} elseif (strtolower($name) == "item") {
$insideitem = true;
}
}
// Funzione che printa la singola voce del feed rss
function endElement($parser, $name)
{
global $insideitem, $tag, $title, $description, $link;
if (strtolower($name) == "item")
{
printf("<li><span class=genmed4><a href='%s' title='Leggi: %s' target='_blank'>%s</a><br>",
trim($link),trim($title),trim($title));
printf("%s</span></li><BR><BR>",trim($description));
$title = "";
$description = "";
$link = "";
$insideitem = false;
}
}
// Funziona che controlla il contenuto del Feed
function characterData($parser, $data)
{
global $insideitem, $tag, $title, $description, $link;
if ($insideitem)
{
switch (strtolower($tag)) {
case "title":
$title .= $data;
break;
case "description":
$description .= $data;
break;
case "link":
$link .= $data;
break;
}
}
}
// Parsing del file xml
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
// Carico indirizzo feed rss e lo apro in lettura
$fp = fopen("news.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);
?>
</ul>
</BODY>
</HTML>
|
E' possibile modificare l'output dello script (il modo di visualizzare gli articoli) con i CSS e codice HTML (come mostrato nell'esempio in questione), impostando uno stile all'elenco (Tags UL e LI), oppure printare la singola notizia all'interno di una tabella o altro tipo di layer (in questo caso va cambiato il codice HTML dell'esempio di sopra). Qui è mostrato un esempio più complesso.
Torna su | Indice Guida | Pagina << 35 >>
|