insideitem) { $this->tag = $tagName; } elseif ($tagName == "ITEM") { $this->insideitem = true; } } function endElement($parser, $tagName) { if ($tagName == "ITEM") { $timestamp=strtotime($this->pubdate); $d=strftime("%d. %B %Y, %H:%M Uhr", $timestamp); printf("

%s: %s

", trim($this->link),$d,htmlspecialchars(utf8_decode(trim($this->title)))); printf("

%s

", utf8_decode(trim($this->description))); $this->title = ""; $this->description = ""; $this->link = ""; $this->pubdate = ""; $this->insideitem = false; } } function characterData($parser, $data) { if ($this->insideitem) { switch ($this->tag) { case "TITLE": $this->title .= $data; break; case "DESCRIPTION": $this->description .= $data; break; case "LINK": $this->link .= $data; break; case "PUBDATE": $this->pubdate .= $data; break; } } } } setlocale(LC_ALL,"de_DE"); $xml_parser = xml_parser_create(); $rss_parser = new RSSParser(); xml_set_object($xml_parser,$rss_parser); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); $fp = fopen("rss/dognews.xml","r") 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); ?>