%s
%s',
$this->link,htmlspecialchars($this->title),
htmlspecialchars($this->description));
}
}///end of class rss item
class pc_RSS_parser {
var $tag;
var $item;
function start_element($parser, $tag, $elements)
{
if('item' == $tag) {$this->item = new pc_RSS_item;}
else if (!empty($this->item)){$this->tag = $tag;}
}
function end_element($parser, $tag)
{
if('item' == $tag) {$this->item->display(); unset($this->item);}
}
function character_data($parser, $data)
{
if(!empty($this->item))
{
if(isset($this->item->{$this->tag})) {$this->item->{$this->tag} .= trim($data);}
}
}
}
/////////////BODY///////BODY///////BODY
$xml = xml_parser_create();
$rss = new pc_RSS_parser;
xml_set_object($xml, $rss);
xml_set_element_handler($xml, 'start_element','end_element');
xml_set_character_data_handler($xml, 'character_data');
xml_parser_set_option($xml, XML_OPTION_CASE_FOLDING, false);
$feed="http://www.wired.com/news_drop/netcenter/netcenter.rdf";///canadaonline is another
echo "";
$fp = fopen($feed, 'r') or die("I can't read this RSS data, you fool!");
while ($data = fread($fp, 4096))
{
xml_parse($xml, $data, feof($fp)) or die("I cannot parse this RSS data, you niggling bobblehead!");
}
fclose($fp);
xml_parser_free($xml);
echo "";
?>