Ciao a tutti, spero che possiate essermi d'aiuto come al solito.
In giro ho trovato uno script molto breve ed altrettanto efficace per visualizzare file xml rss feed.
Lo script visualizza tutte le notizie del file xml, mi piacerebbe che invece ne viualizzasse solo un certo numero (per esempio le prime 5) di seguito lo script se qualcuno vuol darci un'occhiata...Grazie.
Codice PHP:
<?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('<div align=\"left\">[b]<a href=\'%s\' target = \'_blank\' class=\'link02\'>%s</a>[/b]
',
trim(utf8_decode($link)),trim(utf8_decode($title)));
printf('%s</div>'."\n",trim(utf8_decode($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://www.corriere.it/rss/economia.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);
?>