加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP 生成RSS类的简单示例

发布时间:2020-05-25 04:49:48 所属栏目:PHP 来源:互联网
导读:PHP 生成RSS类的简单示例

PHP生成RSS的类,感兴趣的小伙伴,下面一起跟随脚本之家 jb51.cc的小编来看看吧。
经测试代码如下:


/**
 * 生成RSS的类
 *
 * @param 
 * @arrange (512.笔记) jb51.cc
 * $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 = "<![CDATA[ $html ]]>";
 * $feed->addItem($item);
 * }
 * echo $feed->serve();
 **/
 class 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,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 .= "<channel>n";
   $out .= "<title>" . $this->title . "</title>n";
   $out .= "<link>" . $this->link . "</link>n";
   $out .= "<description>" . $this->description . "</description>n";
   $out .= "<language>" . $this->language . "</language>n";
   $out .= "<pubDate>" . $this->getPubDate() . "</pubDate>n";
 
   foreach($this->tags as $key => $val) $out .= "<$key>$val</$key>n";
   foreach($this->items as $item) $out .= $item->out();
 
   $out .= "</channel>n";
 
   $out .= $this->footer();
 
   $out = str_replace("&","&amp;",$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 .= '<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">' . "n";
   return $out;
  }
 
  function footer()
  {
   return '</rss>';
  }
 }
 
 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,strtotime($when)) . "GMT";
  }
 
  function getPubDate()
  {
   if(empty($this->pubDate))
    return date("D,$value)
  {
   $this->tags[$tag] = $value;
  }
 
  function out()
  {
   $out .= "<item>n";
   $out .= "<title>" . $this->title . "</title>n";
   $out .= "<link>" . $this->link . "</link>n";
   $out .= "<description>" . $this->description . "</description>n";
   $out .= "<pubDate>" . $this->getPubDate() . "</pubDate>n";
 
   if($this->attachment != "")
    $out .= "<enclosure url='{$this->attachment}' length='{$this->length}' type='{$this->mimetype}' />";
 
   if(empty($this->guid)) $this->guid = $this->link;
   $out .= "<guid>" . $this->guid . "</guid>n";
 
   foreach($this->tags as $key => $val) $out .= "<$key>$val</$keyn>";
   $out .= "</item>n";
   return $out;
  }
 
  function enclosure($url,$mimetype,$length)
  {
   $this->attachment = $url;
   $this->mimetype   = $mimetype;
   $this->length     = $length;
  }
 }


/***   来自脚本之家 jb51.cc(jb51.cc)   ***/

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读