--- 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
#