Luca Bigon
a- a+

Leggere i feed RSS con 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 siti come WebMasterPoint.org che vogliono offrire ai propri utenti gli ultimi aggiornamenti in tempo reale.

Lo script PHP per leggere i feed RSS

Con lo script asp sotto presentato potrete leggere e pubblicare direttamente sul vostro sito web le news di WebMasterPoint.org (ma va bene per qualsiasi feed RSS di altri siti) o volende gli aggiornamenti, i messaggi del forum o gli script (per altre informazioni leggi la nostra pagina dei Feed RSS di WebMasterPoint.org)

Il codice

 

<ul><?php

$insideitem = false;
$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;
}
}

function endElement($parser, $name) {
global $insideitem, $tag, $title, $description, $link;
if (strtolower($name) == "item") {
printf("<li><strong><a href='%s' title='Leggi: %s' target='_blank'>%s</a></strong><br />" ,
trim($link),trim($title),trim($title));
printf("%s</li>" ,trim($description));
$title = "";
$description = "";
$link = "";
$insideitem = false;
}
}

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

$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 delle news di WebMasterPoint.org
$fp = fopen("http://www.webmasterpoint.org/rss/news.xml" ,"r")
// ALTRI FEED UTILI
// Ultimi articoli di WebMasterPoint.org: http://www.webmasterpoint.org/rss/articoli.xml
// Ultimi post del forum: http://forum.webmasterpoint.net/external.php?type=RSS
// Ultimi post del forum ASP: http://forum.webmasterpoint.net/external.php?type=RSS&forumids=24
// Ultimi post del forum PHP: http://forum.webmasterpoint.net/external.php?type=RSS&forumids=28
// Ultimi post del forum Flash: http://forum.webmasterpoint.net/external.php?type=RSS&forumids=13
// Ultimi post del forum Snitz Forum: http://forum.webmasterpoint.net/external.php?type=RSS&forumids=25
// Ultimi post del forum Off Topics: http://forum.webmasterpoint.net/external.php?type=RSS&forumids=19

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>

 

 

Modificare l'output

E' possibile modificare l'output dello script (il modo di visualizzare gli articoli) in due modi:

  • Con i CSS
  • con il codice html

Utilizzando i css e' possibile modificare l'output impostando uno stile all'elenco <
Mentre per modifiche al codice html, basta cambiare il codice all'interno dei printf:

printf("<li><strong><a href='%s' title='Leggi: %s' target='_blank'>%s</a></strong><br />" ,
printf("%s</li>" ,trim($description));

Per qualsiasi domanda, chiedete aiuto gratuitamente sul nostro forum: http://forum.webmasterpoint.net



Ti potrebbe interessare anche

commenta la notizia

Ci sono 2 commenti