当前位置:首页 > 移动互联网 > PHP生成RSS订阅的方法

PHP生成RSS订阅的方法

rss(简易信息聚合也叫聚合内容)是一种描述和同步网站内容的格式。下面的生成RSS订阅的代码:

rss XML结构

1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version="2.0">
3 <channel>
4 <title>网站名称</title>
5 <link>http://www.web-fish.com/</link>
6 <description>网站描述!</description>
7 <item>
8 <title>RSS Tutorial</title>
9 <link>网站地址/rss</link>
10 <description>New RSS tutorial on W3School</description>
11 </item>
12 <item>
13 <title>XML Tutorial</title>
14 <link>网站地址/xml</link>
15 <description>New XML tutorial on W3School</description>
16 </item>
17 </channel>
18 </rss>

RSS实例

1 <?php
2 class Rss {
3 public function createFeed() {
4 //RSS头部
5 $webUrl 'http://'.$_SERVER['HTTP_HOST'];//网站地址
6 $webName '网站名称';    //网站名称
7 $webDesc '网站描述';    //网站描述
8 $html = '<?xml version="1.0" encoding="utf-8"?>
9 <rss version="2.0">
10 <channel>
11 <title>'.$webName.'</title>
12 <link>'.$webUrl.'</link>
13 <description>'.$webDesc.'</description>
14 '.$this->createItem().'
15 </channel>
16 </rss>
17 ';
18 echo $html;
19 }
20 private function createItem() {
21 //RSS item
22 //$data可替换为自己的数据
23 $html '';
24 //文章数据
25 $data array(
26 'id' => 1,
27 'date' => date('r', time()),
28 'title' => '文章标题',
29 'link' => 'http://www.web-fish.com',    //文章地址
30 'description' => '网站描述'
31 );
32 for($i = 0; $i < 6; $i++) {
33 $html .= '
34 <item>
35 <title>'.$data['title'].'</title>
36 <link>'.$data['link'].'</link>
37 <pubDate>'.$data['date'].'</pubDate>
38 <description><![CDATA['.$data['description'].']]></description>
39 </item>
40 ';
41 }
42 return $html;
43 }
44 }
45 header("Content-Type: text/xml; charset=utf-8");
46 $rss new Rss();
47 $rss->createFeed();
48 exit;
49 ?>

RSS Feed 生成后,如何设置才能给网站添加 RSS 呢?并且让 Firefox、IE7 或其它 Feed 机器人自动发现?很简单,在网页的 Head 节添加一个特定的 Link 标签即可,如下:

<link rel=”alternate” type=”application/rss+xml” title=”网站名称 RSS Feed” href=”http://www.pchyz.com” />

设置 title 为 Feed 标题,href 为 Feed 地址,一切就 OK 了!