Hi Kilo
Are you trying to receive and parse an RSS feed? If so, check this board and devshed etc. for scripts - there are loads.
Here's the code I use for parsing blog feeds (limits results to three per blog):
<?php
class RSSParser {
var $insideitem = false;
var $tag = "";
var $title = "";
var $description = "";
var $link = "";
var $pubDate = "";
var $itemNumber = 0;
function startElement($parser, $tagName, $attrs) {
if ($this->insideitem) {
$this->tag = $tagName;
} elseif ($tagName == "ITEM" && $this->itemNumber <= 2) {
$this->insideitem = true;
}
}
function endElement($parser, $tagName) {
if ($tagName == "ITEM" && $this->itemNumber <= 2) {
printf("<dt><a href='%s' target=\"_blank\">%s</a>\nPublication date: %s</dt>", trim($this->link),htmlspecialchars(trim($this->title)),htmlspecialchars(trim($this->pubDate)));
printf("<dd>%s</dd>",htmlspecialchars(trim($this->description)));
$this->title = "";
$this->description = "";
$this->link = "";
$this->pubDate = "";
$this->insideitem = false;
$this->itemNumber = $this->itemNumber + 1;
}
}
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;
}
}
}
}
?>
You can then display it as HTML with this:
<?php
$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("http://www.feed.com/blog.cfm?format=rss","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);
?>
Is this what you wanted?
Norm