Homepage Site Map


   
PROGRAMMAZIONE
   FARE WEB
   HTML
   CSS
   PHP
   MySQL
   XML - XSL
GRAFICA
   PAINT SHOP
   ANIMATION SHOP
   SWISH
   SWISHMAX
SCRIPT
   JAVASCRIPT
   PHP
   APPLET JAVA
   CSS GENERATOR
   WEB TOOLS
DOWNLOAD
   FONTS
   ICONE E AVATAR
   SMILES
   GIF ANIMATE
   CURSORI
   CALENDARI
   KAOANI
   BASI BANNER
   SCREENMATES
   MEEGOS
   GIOCHI
   VIDEO E PPS
ARTICOLI
   ARTICOLI
   GUADAGNA SITO
LINKS
   LINK TO ME
   VOTAMI
   SCAMBIO LINK
   SCAMBIO BANNER


zanox Partner promuovono Partner

 
  

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 >>    



 


Cynegi Network
   

Vai al W3C CSS Validator toolkit.
Realizzato con PHP. Vai al sito ufficiale del PHP.
Testato anche con Mozilla Firefox. Vai al sito ufficiale.

Home     Contacts     Forum     FAQ     Newsletter     Mappa     Cerca     Link to me

  Vedi gli RSS del sito.      

-->  [Il tuo link qui]