PHP 实现RSS订阅类(php是什么意思)

网友投稿 947 2022-07-30



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

$rss .= "\r\n";

$rss .= "\r\n";

$rss .= "

$rss .= "<![CDATA[{$this->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 .= "

$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 .= "

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

$rss .= "<![CDATA[{$this->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;

}

}

?>

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PHP 常用的header头部定义
下一篇:HTML 5:足以改变我们未来生活的十项提示
相关文章

 发表评论

暂时没有评论,来抢沙发吧~