好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php完美的rss 生成类 - php类库

php完美的rss 生成类

RSS订阅功能,在很多网站都可以有但也有很多,下面代码是自己写的,其中使用到了一个PHP类:RSS.class.php,感觉非常方便,不敢独享,特拿出来跟大家分享.

类的调用代码如下:

include_once ( "class/RSS.class.php" ); //引入RSS PHP类   $RSS =  new  RSS( "名称" , "地址" , "描述" , "RSS频道图标" );  $RSS ->AddItem( "日志的标题" , "日志的地址" , "日志的摘要" , "日志的发布日期" );  $RSS ->Display(); //输出RSS内容  

全部代码如下:

<?php  // +----------------------------------------------------------------------   // | YBlog   // +----------------------------------------------------------------------   // | Copyright (c) 2008 http://HdhCmsTest111cn.net/nokia/n97/ All rights reserved.   // +----------------------------------------------------------------------   // +----------------------------------------------------------------------   // | Author: yhustc <yhustc@gmail测试数据>   // +----------------------------------------------------------------------   // $Id$     /**    +------------------------------------------------------------------------------    * RSS生成类    +------------------------------------------------------------------------------    * @author    yhustc <yhustc@gmail测试数据>    * @version   $Id$    +------------------------------------------------------------------------------    */   class  RSS  {       /**        +----------------------------------------------------------        * RSS频道名        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $channel_title  =  '' ;       /**        +----------------------------------------------------------        * RSS频道链接        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $channel_link  =  '' ;       /**        +----------------------------------------------------------        * RSS频道描述        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $channel_description  =  '' ;       /**        +----------------------------------------------------------        * RSS频道使用的小图标的URL        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $channel_imgurl  =  '' ;       /**        +----------------------------------------------------------        * RSS频道所使用的语言        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $language  =  'zh_CN' ;       /**        +----------------------------------------------------------        * RSS文档创建日期,默认为今天        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $pubDate  =  '' ;       protected   $lastBuildDate  =  '' ;         protected   $generator  =  'YBlog RSS Generator' ;         /**        +----------------------------------------------------------        * RSS单条信息的数组        +----------------------------------------------------------        * @var string        * @access protected        +----------------------------------------------------------        */        protected   $items  =  array ();         /**        +----------------------------------------------------------        * 构造函数        +----------------------------------------------------------        * @access public         +----------------------------------------------------------        * @param string $title  RSS频道名        * @param string $link  RSS频道链接        * @param string $description  RSS频道描述        * @param string $imgurl  RSS频道图标        +----------------------------------------------------------        */        public   function  __construct( $title ,  $link ,  $description ,  $imgurl  =  '' )      {           $this ->channel_title =  $title ;           $this ->channel_link =  $link ;           $this ->channel_description =  $description ;           $this ->channel_imgurl =  $imgurl ;           $this ->pubDate =  Date ( 'Y-m-d H:i:s' , time());           $this ->lastBuildDate =  Date ( 'Y-m-d H:i:s' , time());      }         /**        +----------------------------------------------------------        * 设置私有变量        +----------------------------------------------------------        * @access public         +----------------------------------------------------------        * @param string $key  变量名        * @param string $value  变量的值        +----------------------------------------------------------        */         public   function  Config( $key , $value )       {           $this ->{ $key } =  $value ;       }         /**        +----------------------------------------------------------        * 添加RSS项        +----------------------------------------------------------        * @access public         +----------------------------------------------------------        * @param string $title  日志的标题        * @param string $link  日志的链接        * @param string $description  日志的摘要        * @param string $pubDate  日志的发布日期        +----------------------------------------------------------        */         function  AddItem( $title ,  $link ,  $description ,  $pubDate )       {           $this ->items[] =  array ( 'title'  =>  $title ,  'link'  =>  $link ,  'description'  =>  $description ,  'pubDate'  =>  $pubDate );       }          /**        +----------------------------------------------------------        * 输出RSS的XML为字符串        +----------------------------------------------------------        * @access public         +----------------------------------------------------------        * @return string        +----------------------------------------------------------        */        public   function  Fetch()      {           $rss  =  "<?xml version=" 1.0 " encoding=" utf-8 " ?>rn" ;           $rss  =  "<rss version=" 2.0 ">rn" ;           $rss  .=  "<channel>rn" ;           $rss  .=  "<title><![CDATA[{$this->channel_title}]]></title>rn" ;           $rss  .=  "<description><![CDATA[{$this->channel_description}]]></description>rn" ;           $rss  .=  "<link>{$this->channel_link}</link>rn" ;           $rss  .=  "<language>{$this->language}</language>rn" ;             if  (! empty empty ( $this ->pubDate))               $rss  .=  "<pubDate>{$this->pubDate}</pubDate>rn" ;           if  (! empty empty ( $this ->lastBuildDate))               $rss  .=  "<lastBuildDate>{$this->lastBuildDate}</lastBuildDate>rn" ;           if  (! empty empty ( $this ->generator))               $rss  .=  "<generator>{$this->generator}</generator>rn" ;             $rss  .=  "<ttl>5</ttl>rn" ;             if  (! empty empty ( $this ->channel_imgurl)) {               $rss  .=  "<image>rn" ;               $rss  .=  "<title><![CDATA[{$this->channel_title}]]></title>rn" ;               $rss  .=  "<link>{$this->channel_link}</link>rn" ;               $rss  .=  "<url>{$this->channel_imgurl}</url>rn" ;               $rss  .=  "</image>rn" ;          }             for  ( $i  = 0;  $i  <  count ( $this ->items);  $i ++) {               $rss  .=  "<item>rn" ;               $rss  .=  "<title><![CDATA[{$this->items[$i]['title']}]]></title>rn" ;               $rss  .=  "<link>{$this->items[$i]['link']}</link>rn" ;               $rss  .=  "<description><![CDATA[{$this->items[$i]['description']}]]></description>rn" ;               $rss  .=  "<pubDate>{$this->items[$i]['pubDate']}</pubDate>rn" ;               $rss  .=  "</item>rn" ;          }             $rss  .=  "</channel>rn</rss>" ;           return   $rss ;      }         /**        +----------------------------------------------------------        * 输出RSS的XML到浏览器        +----------------------------------------------------------        * @access public         +----------------------------------------------------------        * @return void        +----------------------------------------------------------        */        public   function  Display()      {          header( "Content-Type: text/xml; charset=utf-8" );           echo   $this ->Fetch(); //开源代码phpfensi测试数据            exit ;      }  }  ?> 

查看更多关于php完美的rss 生成类 - php类库的详细内容...

  阅读:42次