rss php 生成,php实现的RSS生成类实例

本文实例讲述了php实现的RSS生成类。分享给大家供大家参考。具体如下:

?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125class RSS{ var $title; var $link; var $description; var $language = "en-us"; var $pubDate; var $items; var $tags; function RSS() {  $this->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, d M Y H:i:s ", 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 .= "$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 = '<?xml version="1.0" encoding="utf-8"?>' . "\n";  $out .= '' . "\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, d M Y H:i:s ", $when) . "GMT";  else   $this->pubDate = date("D, d M Y H:i:s ", 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 .= "\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";   foreach($this->tags as $key => $val) $out .= "$val$key\n>";  $out .= "\n";  return $out; } function enclosure($url, $mimetype, $length) {  $this->attachment = $url;  $this->mimetype  = $mimetype;  $this->length   = $length; }}

使用示例如下:

?12345678910111213141516$feed = new RSS();$feed->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();

小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!

免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值