<?php /* php RSS Reader v1.1 By Richard James Kendall Bugs to richard@richardjameskendall.com Free to use, please acknowledge me Place the URL of an RSS feed in the $file variable. The $rss_channel array will be filled with data from the feed, every RSS feed is different by by and large it should contain: Array { [TITLE] = feed title [DESCRIPTION] = feed description [LINK] = link to their website [IMAGE] = Array { [URL] = url of image [DESCRIPTION] = alt text of image } [ITEMS] = Array { [0] = Array { [TITLE] = item title [DESCRIPTION] = item description [LINK = a link to the story } . . . } } By default it retrives the Reuters Oddly Enough RSS feed. The data is put nto the array structure so you can format the information as you see fit. */ $file = \"http://this-is-the-love-song.blog.pl/index.rss\"; $currently_writing = \"\"; $main = \"\"; $item_counter = 1; function startElement($parser, $name, $attrs) { switch($name) { case \"RSS\": case \"RDF:RDF\": case \"ITEMS\": $currently_writing = \"\"; break; case \"CHANNEL\": $main = \"CHANNEL\"; break; case \"IMAGE\": $main = \"IMAGE\"; $rss_channel[\"IMAGE\"] = array(); break; case \"ITEM\": $main = \"ITEMS\"; break; default: $currently_writing = $name; break; } } function endElement($parser, $name) { $currently_writing = \"\"; if ($name == \"ITEM\") { $item_counter++; } } function characterData($parser, $data) { if ($currently_writing != \"\") { switch($main) { case \"CHANNEL\": $rss_channel[$currently_writing] .= $data; } else { $rss_channel[$currently_writing] = $data; } break; case \"IMAGE\": $rss_channel[$main][$currently_writing] .= $data; } else { $rss_channel[$main][$currently_writing] = $data; } break; case \"ITEMS\": $rss_channel[$main][$item_counter][$currently_writing] .= $data; } else { //print (\"rss_channel[$main][$item_counter][$currently_writing] = $data<br>\"); $rss_channel[$main][$item_counter][$currently_writing] = $data; } break; } } } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, \"startElement\", \"endElement\"); xml_set_character_data_handler($xml_parser, \"characterData\"); } xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); ?>
w tym pliku podaje sie $file czyli jaki plik ma czytac
na swojej stronie includuje ten plik i potem wypisuje tytul ostatniej notki np
echo $rss_channel["TITLE"];
ale co jezeli mam wiecej stron do wczytania? zrobilem pare plikow rss_reader(2,3,4), do tego musialem jeszcze zmienic nazwy funkcji.. to raczej jest zle rozwiazanie.
co zrobic zeby potrzebny byl tylko jeden plik do zincludowania i potem spokojnie mozna by bylo czytac z roznych zrodel.
Pozdrowienia,
Dragonik