本文实例讲述了PHP实现的RSS生成类。分享给大家供大家参考。具体如下:
items = array();
$this->tags = array();
}
function addItem($item)
{
$this->items[] = $item;
}
function setPubDate($when)
{
if(strtotime($when) == false)
$this->pubDate = date("D,d M Y H:i:s ",$when) . "GMT";
else
$this->pubDate = date("D,strtotime($when)) . "GMT";
}
function getPubDate()
{
if(empty($this->pubDate))
return date("D,d M Y H:i:s ") . "GMT";
else
return $this->pubDate;
}
function addTag($tag,$value)
{
$this->tags[$tag] = $value;
}
function out()
{
$out = $this->header();
$out .= "\n";
$out .= "" . $this->title . " \n";
$out .= "" . $this->link . "\n";
$out .= "" . $this->description . " \n";
$out .= "" . $this->language . " \n";
$out .= "" . $this->getPubDate() . " \n";
foreach($this->tags as $key => $val) $out .= "<$key>$val$key>\n";
foreach($this->items as $item) $out .= $item->out();
$out .= " \n";
$out .= $this->footer();
$out = str_replace("&","&",$out);
return $out;
}
function serve($contentType = "application/xml")
{
$xml = $this->out();
header("Content-type: $contentType");
echo $xml;
}
function header()
{
$out = '' . "\n";
$out .= '<RSS version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">' . "\n";
return $out;
}
function footer()
{
return '';
}
}
class RSSItem
{
var $title;
var $link;
var $description;
var $pubDate;
var $guid;
var $tags;
var $attachment;
var $length;
var $mimetype;
function RSSItem()
{
$this->tags = array();
}
function setPubDate($when)
{
if(strtotime($when) == false)
$this->pubDate = date("D,$value)
{
$this->tags[$tag] = $value;
}
function out()
{
$out .= "- \n";
$out .= "
" . $this->title . " \n";
$out .= "" . $this->link . "\n";
$out .= "" . $this->description . " \n";
$out .= "" . $this->getPubDate() . " \n";
if($this->attachment != "")
$out .= " ";
if(empty($this->guid)) $this->guid = $this->link;
$out .= "" . $this->guid . " \n";
\n";
return $out;
}
function enclosure($url,$mimetype,$length)
{
$this->attachment = $url;
$this->mimetype = $mimetype;
$this->length = $length;
}
}
foreach($this->tags as $key => $val) $out .= "<$key>$val</$key\n>";
$out .= "
return $out;
}
function enclosure($url,$mimetype,$length)
{
$this->attachment = $url;
$this->mimetype = $mimetype;
$this->length = $length;
}
}
使用示例如下:
title = "RSS Feed Title";
$Feed->link = "http://website.com";
$Feed->description = "Recent articles on your website.";
$db->query($query);
$result = $db->result;
while($row = MysqL_fetch_array($result,MysqL_ASSOC))
{
$item = new RSSItem();
$item->title = $title;
$item->link = $link;
$item->setPubDate($create_date);
$item->description = "";
$Feed->addItem($item);
}
echo $Feed->serve();
希望本文所述对大家的PHP程序设计有所帮助。