≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > PHP笔记

PHP 生成RSS类的简单示例

人气:587 时间:2018-09-19

这篇文章主要为大家详细介绍了PHP 生成RSS类的简单示例,具有一定的参考价值,可以用来参考一下。

PHP生成RSS的类,感兴趣的小伙伴,下面一起跟随四海网的小编罗X来看看吧。
经测试代码如下:

/**
 * 生成RSS的类
 *
 * @param 
 * @arrange (512.笔记) www.q1010.com
 * $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, 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 .= "<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, 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 .= "<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</$key\n>";
   $out .= "</item>\n";
   return $out;
  }
 
  function enclosure($url, $mimetype, $length)
  {
   $this->attachment = $url;
   $this->mimetype   = $mimetype;
   $this->length     = $length;
  }
 }


/***   来自四海网(www.q1010.com)   ***/

本文来自:http://www.q1010.com/173/396-0.html

注:关于PHP 生成RSS类的简单示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:RSS

您可能感兴趣的文章

  • php 重定向RSS源到单一格式的实现方法
上一篇:php 生成年月日下载列表的简单示例
下一篇:php 数据库操作基础类DBObject Class的用法示例
热门文章
  • PHP 写入WRITE编码为UTF8的文件示例
  • PHP 中文字符串截取函数示例:支持gb2312,gbk,big
  • PHP 简单留言板的制作示例
  • 解决Fatal error: Call to undefined function mb_convert_encoding() in错误问题
  • PHP语言基础(标记、注释、变量、数组、常量、函数)示例
  • php 生成迅雷链接的简单示例
  • php 获取短网址的实现方法
  • PHP 通用分页类的简单示例
  • PHP 使用文件方式导入导出整个MYSQL数据库的实现方法
  • php 获取MYSQL错误的简单示例
  • 最新文章
    • 解决PHP使用redis实现统计缓存MySQL压力的问题
    • php 简单的上传进度条的简单示例
    • php 给html中引用的js和css路径打上版本号的实现方法
    • php 实现计算年龄精准到年月日的实例
    • php+ajax无刷新分页的简单示例
    • 解决php+ajax无刷新上传图片的问题
    • 解决PHP生成HTML静态页面的问题
    • 解决PHP使用uniqid函数生成唯一ID的问题
    • 解决PHP防刷票的一些问题
    • 微信access_token的获取开发的实现方法

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。