--- inc.rss2array.php.orig 2005-02-06 23:05:38.000000000 -0500 +++ inc.rss2array.php 2005-02-06 23:07:03.000000000 -0500 @@ -6,7 +6,9 @@ # example usage: # # require("inc.rss2array.php"); - # $rss_array = rss2array("http://news.bbc.co.uk/rss/newsonline_world_edition/front_page/rss091.xml"); + # $feed = "http://news.bbc.co.uk/rss/newsonline_world_edition/front_page/rss091.xml"; + # $feed = "/path/to/feed.rss"; + # $rss_array = rss2array($feed); # print "
";
     #       print_r($rss_array);
     #       print "
"; @@ -140,6 +142,36 @@ } + # $url may be a file on the filesystem + + elseif (is_file($url)) { + + $fh = fopen($url,"r"); + $xml = fread($fh,filesize($url)); + fclose($fh); + # + # create the parser + # + + $xml_parser = xml_parser_create(); + + xml_set_element_handler($xml_parser, "startElement", "endElement"); + xml_set_character_data_handler($xml_parser, "characterData"); + + # + # parse! + # + + xml_parse($xml_parser, trim($xml), true) or $rss2array_globals[errors][] = xml_error_string(xml_get_error_code($xml_parser)) . " at line " . xml_get_current_line_number($xml_parser); + + # + # free parser + # + + xml_parser_free($xml_parser); + + } + # # Feed url looks wrong #