- Home
- Categorie
- Coding e Sistemistica
- Coding
- script per feed rss - come modificarlo?
-
script per feed rss - come modificarlo?
ciao!
sto utilizzando lo script php di webmasterpoint per inserire feed rss esterni nel mio sito...
FUNZIONA ALLA GRANDE..... non risco pero' a capire come posso decidere quante news mostrare. come posso fare?
posto lo script:
<?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("* **[url='%s']%s**", trim($link),trim($title),trim($title)); printf("",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.gazzetta.it/rss/Calcio.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); ?>
qualcuno riesce ad aiutarmi? :bho:
-
così com'è non hai il controllo su quante news ma leggi (e mostri) tutto quello che arriva dal file calcio.xml
dovresti riuscire a mettere la struttura dei dati in un array, controllarne il numero e stampare solo quelle che vuoi
-
volendo potresti modificare la funzione endElement.
Dovresti incrementare una varibile (globale) tutte le volte che, in quella funzione, vai a scrivere un Item. Quando la varibile supera un max allora non scrivi più.
Una cosa così (non l'ho provato quindi magari non è pefetto..):$cont=0; $maxItem=10; function endElement($parser, $name) { global $insideitem, $tag, $title, $description, $link,$cont,$maxItem; if ((strtolower($name) == "item") && ($cont<$maxItem)) { $cont++; printf("* **[url='%s']%s**", trim($link),trim($title),trim($title)); printf("",trim($description)); $title = ""; $description = ""; $link = ""; $insideitem = false; } }
cioa