PHP RSS 生成类

<?
if (defined('_class_rss_php教程')) return;
define('_class_rss_php教程',1);
/**
 
 *  使用说明:
 *  $rss = new rss('redfox','http://111cn.net/',"redfox's blog");
 *  $rss->additem('rss class',"http://www.111cn.net","xxx",date());
 *  $rss->additem(...);
 *  $rss->savetofile(...);
 */

 

 代码如下 复制代码

class rss {
   //public
   $rss_ver = "2.0";
   $channel_title = '';
   $channel_link = '';
   $channel_description = '';
   $language = 'zh_cn';
   $copyright = '';
   $webmaster = '';
   $pubdate = '';
   $lastbuilddate = '';
   $generator = 'redfox rss generator';

   $content = '';
   $items = array();

   function rss($title, $link, $description) {
       $this->channel_title = $title;
       $this->channel_link = $link;
       $this->channel_description = $description;
       $this->pubdate = date('y-m-d h:i:s',time());
       $this->lastbuilddate = date('y-m-d h:i:s',time());
   }

   function additem($title, $link, $description ,$pubdate) {
       $this->items[] = array('titile' => $title ,
                        'link' => $link,
                        'description' => $description,
                        'pubdate' => $pubdate);
   }

   function buildrss() {
       $s = "<!--l version="1.0" encoding="gb2312"--> ";
       // start channel
       $s .= " ";
       $s .= " "
       $s .= "<link />{$this->channel_link} ";
       $s .= "{$this->channel_description} ";
       $s .= "{$this->language} ";
       if (!empty($this->copyright)) {
          $s .= "{$this->copyright} ";
       }
       if (!empty($this->webmaster)) {
          $s .= "{$this->webmaster} ";
       }
       if (!empty($this->pubdate)) {
          $s .= "{$this->pubdate} ";
       }

       if (!empty($this->lastbuilddate)) {
          $s .= "{$this->lastbuilddate} ";
       }

       if (!empty($this->generator)) {
          $s .= "{$this->generator} ";
       }
     
       // start items
       for ($i=0;$iitems),$i++) {
           $s .= " ";
           $s .= " ";
           $s .= "<link />{$this->items[$i]['link']} ";
           $s .= "<!--data[{$thi-->items[$i]['description']}]]> ";
           $s .= "{$this->items[$i]['pubdate']} ";         
           $s .= " ";
       }
    
      // close channel
      $s .= " ";
      $this->content = $s;
   }

   function show() {
       if (empty($this->content)) $this->buildrss();
       header('content-type:text/xml');
       echo($this->content);
   }

   function savetofile($fname) {
       if (empty($this->content)) $this->buildrss();
       $handle = fopen($fname, 'wb');
       if ($handle === false)  return false;
       fwrite($handle, $this->content);
       fclose($handle);
   }
}

?>
同时也可以用网页特效来解析xml文档

时间: 2024-09-20 15:07:59

PHP RSS 生成类的相关文章

php实现的RSS生成类实例

  php实现的RSS生成类实例          这篇文章主要介绍了php实现的RSS生成类,实例分析了RSS生成类的原理.定义与使用技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了php实现的RSS生成类.分享给大家供大家参考.具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

php实现的RSS生成类实例_php技巧

本文实例讲述了php实现的RSS生成类.分享给大家供大家参考.具体如下: 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($ite

php完美的rss 生成类

 代码如下 复制代码 include_once("class/RSS.class.php");//引入RSS PHP类 $RSS= new RSS("名称","地址","描述","RSS频道图标"); $RSS->AddItem("日志的标题","日志的地址","日志的摘要","日志的发布日期"); $RSS->Di

rss生成类[代码]

<?php/***************************************** *           RSS2.0 Generator *          Create by MagicBoy(darasion) *          Copyright ? 神奇男孩  ******************************************/ /*---------------- 使用方法: 将下面的数组,带入相应的函数. 1.频道主体 $channel = a

php 完美的rss 生成类

<?php class rssGenerator_rss {     var $rss_version = '2.0';     var $encoding = '';     var $stylesheet = '';     function cData($str)     {         return '<![CDATA[ ' . $str . ' ]]>';     }     function createFeed($channel)     {         $self

PHP生成RSS文件类实例

 PHP RSS 生成类实例代码如下: 代码如下: <?php if (defined('_class_rss_php')) return; define('_class_rss_php教程',1); /**    *  使用说明:  *  $rss = new rss('redfox','http://jb51.net/',"redfox's blog");  *  $rss->additem('rss class',"http://www.jb51.net&q

PHP生成RSS文件类实例_php技巧

本文实例讲述了PHP生成RSS文件类文件.分享给大家供大家参考.具体如下: PHP RSS 生成类实例代码如下: 复制代码 代码如下: <?php if (defined('_class_rss_php')) return; define('_class_rss_php教程',1); /**    *  使用说明:  *  $rss = new rss('redfox','http://jb51.net/',"redfox's blog");  *  $rss->addit

rss2生成类

rss <? php/**//* * @(#)Rss2Gen.inc.php (beta) 2005/2/19 * * exblog RSS2 生成类,实现了RSS2规范中的大部分内容. * * 使用方法请见本类底部(Rss2Gen类使用注释)信息. * * 本程序为免费程序,源代码使用者可任意更改(请勿用于商业用途),但请保留本版权信息! * * @author HexUzHoNG <hexuzhong@163.com> * @version beta-2, 2005-03-11 *

用Java抓取RSS生成Mobi文件发送到Kindle

最近写了个小工具,通过抓取RSS生成适合Kindle展示的Mobi格式的文件,并发送到Kindle 个人图书馆,也算是继续"自动化"之旅. 代码前前后后写了个把月,趁着放假期间,决定把它搞定.使用方法什么的就不多说了,项目开源到Github上去了,上面有使用说明. 这篇文章简单得聊聊项目本身以及总结的一些问题. 项目简介 首先来看看项目的组织结构图: 大致分为三大部分: core:核心部分,定义了RSS相关的基本数据抽象(base)以及所有流程的接口抽象(contract) compo