php rss类 使用方法,php实现RSS订阅类

<?php

class RSS

{

/**

+----------------------------------------------------------

* RSS频道名

+----------------------------------------------------------

*/

protected $channel_title = '';

/**

+----------------------------------------------------------

* RSS频道链接

+----------------------------------------------------------

*/

protected $channel_link = '';

/**

+----------------------------------------------------------

* RSS频道描述

+----------------------------------------------------------

*/

protected $channel_description = '';

/**

+----------------------------------------------------------

* RSS频道使用的小图标的URL

+----------------------------------------------------------

*/

protected $channel_imgurl = '';

/**

+----------------------------------------------------------

* RSS频道所使用的语言

+----------------------------------------------------------

*/

protected $language = 'zh_CN';

/**

+----------------------------------------------------------

* RSS文档创建日期,默认为今天

+----------------------------------------------------------

*/

protected $pubDate = '';

protected $lastBuildDate = '';

protected $generator = 'YBlog RSS Generator';

/**

+----------------------------------------------------------

* RSS单条信息的数组

+----------------------------------------------------------

*/

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\" ?>\r\n";

$rss .= "\r\n";

$rss .= "\r\n";

$rss .= "

channel_title}]]>\r\n";

$rss .= "channel_description}]]>\r\n";

$rss .= "{$this->channel_link}\r\n";

$rss .= "{$this->language}\r\n";

if (!empty($this->pubDate))

$rss .= "{$this->pubDate}\r\n";

if (!empty($this->lastBuildDate))

$rss .= "{$this->lastBuildDate}\r\n";

if (!empty($this->generator))

$rss .= "{$this->generator}\r\n";

$rss .= "5\r\n";

if (!empty($this->channel_imgurl)) {

$rss .= "\r\n";

$rss .= "

channel_title}]]>\r\n";

$rss .= "{$this->channel_link}\r\n";

$rss .= "{$this->channel_imgurl}\r\n";

$rss .= "\r\n";

}

for ($i = 0; $i < count($this->items); $i++) {

$rss .= "\r\n";

$rss .= "

items[$i]['title']}]]>\r\n";

$rss .= "{$this->items[$i]['link']}\r\n";

$rss .= "items[$i]['description']}]]>\r\n";

$rss .= "{$this->items[$i]['pubDate']}\r\n";

$rss .= "\r\n";

}

$rss .= "\r\n";

return $rss;

}

/**

+----------------------------------------------------------

* 输出RSS的XML到浏览器

+----------------------------------------------------------

* @access public

+----------------------------------------------------------

* @return void

+----------------------------------------------------------

*/

public function Display()

{

header("Content-Type: text/xml; charset=utf-8");

echo $this->Fetch();

exit;

}

}

?>

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值