search
Homephp教程php手册一个生成RSS2.0的php类

rss

/*****************************************
*           RSS2.0 Generator
*          Create by MagicBoy(darasion)
*          Copyright ? 神奇男孩
******************************************/

/*————————————————

使用方法:
将下面的数组,带入相应的函数。

1、频道主体
$channel = array(
 title => '频道名称(必备)',
 link => '频道的URL(必备)',
 description => '频道的描述(必备)',
 language => '频道文章所用语言(可选)',
 webmaster => '负责频道技术事务的网站管理员email(可选)',
 managingEditor => '责任编辑的email(可选)',
 pubDate => '频道内容发布日期,格式遵循RFC822格式(年份可为2位或4位)(可选)',
 lastBuildDate => '频道内容最后的修改日期(Sat, 07 Sep 2002 09:42:31 GMT)(可选)',
 skipDays => '提示新闻聚合器,那些天它可以跳过。(可选)',
 copyright => '频道内容的版权说明(可选)',
 ttl => '有效期,用以指明该频道可被缓存的最长时间(可选)',
);

2、频道图片
$image = array(
 url => '图片的链接(必备)',
 title => '图片的标题,用于http的alt属性(必备)',
 link => '网站的url(实际中常以频道的url代替)(必备)',
 width => '图片的宽度(象素为单位)最大144,默认88(可选)',
 height => '图片的高度(象素为单位)最大400,默认31(可选)',
 description => '用于link的title属性(可选)'
   );

3、频道项
$item = array(
 title => '项(item)的标题(必备)',
 description => '项的大纲(必备)',
 link => '项的URL(必备)',
 comments => '该项的评论(comments)页的URL(可选)',
 guid => '1项的唯一标志符串(可选)',
 author => '该项作者的email(可选)',
 enclosure => '描述该附带的媒体对象(可选)',
 category => '包含该项的一个或几个分类(catogory)(可选)',
 pubdate => '项的发布时间(可选)',
 source_url => '该项来自的RSS道(可选)',
 source_name => '该项来自的RSS道(可选)'
);
————————————————*/

class rss2
{
 var $channel_pre="";
 var $str_image="";
 var $str_item="";
 var $channel_end="";
 /*构造函数*/
 function rss2($channel,$encoding="GB2312")
  {
   $this->channel($channel,$encoding);
  }
 /*生成频道主体*/
 function channel($channel,$encoding="GB2312")
  {
  $this->channel_pre.="\n";
  $this->channel_pre.= "\n";

  $this->channel_pre.= " \n";

  $this->channel_pre.= "  ".$channel['title']."\n";//频道名称(必备)
  $this->channel_pre.= "  ".$channel['link']."\n";//频道的URL(必备)
  $this->channel_pre.= "  ".$channel['description']."\n";//频道的描述(必备)
  $this->channel_pre.= "  MagicBoy RSS Generator v1.0\n";//创建此文档的程序(可选)

  if(isset($channel['language']))$this->channel_pre.= "  ".$channel['language']."\n";//频道文章所用语言(可选)
  if(isset($channel['webmaster']))$this->channel_pre.= "  ".$channel['webmaster']."\n";//负责频道技术事务的网站管理员email(可选)
  if(isset($channel['managingeditor']))$this->channel_pre.= "  ".$channel['managingeditor']."\n";//责任编辑的email(可选)
  if(isset($channel['pubdate']))$this->channel_pre.= "  ".$channel['pubdate']."\n";//频道内容发布日期,格式遵循RFC822格式(年份可为2位或4位)(可选)
  if(isset($channel['lastbuilddate']))$this->channel_pre.= "  ".$channel['lastbuilddate']."\n";//频道内容最后的修改日期(Sat, 07 Sep 2002 09:42:31 GMT)(可选)
  if(isset($channel['skipdays']))$this->channel_pre.= "  ".$channel['skipdays']."\n";//提示新闻聚合器,那些天它可以跳过。(可选)
  if(isset($channel['copyright']))$this->channel_pre.= "  ".$channel['copyright']."\n";//频道内容的版权说明(可选)
  if(isset($channel['ttl']))$this->channel_pre.= "  ".$channel['ttl']."\n";//有效期,用以指明该频道可被缓存的最长时间(可选)

  $this->channel_end.= " \n";
  $this->channel_end.= "\n";
 }
 /*生成频道图片*/
 function image($image)
 {
  if(isset($this->str_image))unset($this->str_image);
  $this->str_image.= "  \n";
  if(isset($image['url']))$this->str_image.= "   ".$image['url']."\n";//图片的url(必备)
  if(isset($image['title']))$this->str_image.= "   ".$image['title']."\n";//图片的标题,用于http的alt属性(必备)
  if(isset($image['link']))$this->str_image.= "   ".$image['link']."\n";//网站的url(实际中常以频道的url代替)(必备)
  if(isset($image['width']))$this->str_image.= "   ".$image['width']."\n";//图片的宽度(象素为单位)最大144,默认88(可选)
  if(isset($image['height']))$this->str_image.= "   ".$image['height']."\n";//图片的高度(象素为单位)最大400,默认31(可选)
  if(isset($image['description']))$this->str_image.= "   ".$image['description']."\n";//用于link的title属性(可选)
  $this->str_image.= "  \n";
 }
 /*频道项*/
 function item($item)
 {
  $this->str_item.="  \n";
  $this->str_item.="   ".$item['title']."\n";//项(item)的标题(必备)
  $this->str_item.="   ".$item['description']."\n";//项的大纲(必备)
  $this->str_item.="   ".$item['link']."\n";//项的URL(必备)

  if(isset($item['comments']))$this->str_item.="   ".$item['comments']."\n";//该项的评论(comments)页的URL(可选)
  if(isset($item['guid']))$this->str_item.="   ".$item['guid']."\n";//1项的唯一标志符串(可选)
  if(isset($item['author']))$this->str_item.="   ".$item['author']."\n";//该项作者的email(可选)
  if(isset($item['enclosure']))$this->str_item.="   ".$item['enclosure']."\n";//描述该附带的媒体对象(可选)
  if(isset($item['category']))$this->str_item.="   ".$item['category']."\n";//包含该项的一个或几个分类(catogory)(可选)
  if(isset($item['pubdate']))$this->str_item.="   ".$item['pubdate']."\n";//项的发布时间(可选)
  if(isset($item['source_url']))$this->str_item.="   ".$item['source_name']."\n";//该项来自的RSS道(可选)
  $this->str_item.="  \n";
 }
 /*输出xml*/
 function generate()
 {
  if(isset($this->channel_pre)&&isset($this->channel_end)&&isset($this->str_item))
  {
   Header("Content-type:text/xml");
   echo $this->channel_pre;
   echo $this->str_image;
   echo $this->str_item;
   echo $this->channel_end;
  }
 }
 /*擦除频道*/
 function erase_channel()
 {
  unset($this->channel_pre);
  unset($this->channel_end);
 }
 /*擦除频道图片*/
 function erase_image()
 {
  unset($this->str_image);
 }
 /*擦除项目*/
 function erase_item()
 {
  unset($this->str_item);
 }
 /*擦除所有*/
 function erase()
 {
  $this->erase_channel();
  $this->erase_image();
  $this->erase_item();
 }
}
?>

 



Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools