加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php实现的RSS生成类实例

发布时间:2020-12-13 02:35:15 所属栏目:PHP教程 来源:网络整理
导读:《php实现的RSS生成类实例》要点: 本文介绍了php实现的RSS生成类实例,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解php实现的RSS生成类.供大家参考研究.具体如下: PHP编程 class RSS{ var $title; var $link; var $description; var $l

《php实现的RSS生成类实例》要点:
本文介绍了php实现的RSS生成类实例,希望对您有用。如果有疑问,可以联系我们。

本篇章节讲解php实现的RSS生成类.分享给大家供大家参考.具体如下:PHP编程

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("&","&",$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,$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;
 }
}

使用示例如下:PHP编程

$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();

希望本文所述对大家的php程序设计有所赞助.PHP编程

编程之家培训学院每天发布《php实现的RSS生成类实例》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

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

    推荐文章
      热点阅读