开发网源文件

2011-03-18 10:59

网源(Web feed)有助于用户跟踪内容网站,自动将最新信息推送到网源聚合器(比如谷歌阅读器)里。常见的网源文件格式有RSS和Atom两种,同是XML文档。

使用PHP语言可以动态生成基于PHP文档的XML格式网源文件,优点是简单、快速。网源聚合器订阅该PHP文档,便可获取最新信息。

testFeed.php输出

XML代码

以下是位于http://cuikai-wh.com/test/testFeed.php的网源文件的XML源代码,包含了万维网联盟标准里要求的最基本的元素。

<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>测试网源</title>
<atom:link href="http://cuikai-wh.com/test/testFeed.php" rel="self" type="application/rss+xml" />
<link>http://cuikai-wh.com/test/index.php</link>
<description>用来测试网源文件</description>
<language>zh-cn</language>
<pubDate>Sat, 05 Mar 2011 15:30:10 +0000</pubDate>
<lastBuildDate>Sat, 05 Mar 2011 15:30:10 +0000</lastBuildDate>
<docs>http://cuikai-wh.com</docs>

<item>
<title>第二篇文章</title>
<author>小轰同学</author>
<link>http://cuikai-wh.com/test/psg2.php</link>
<pubDate>Sat, 05 Mar 2011 12:30:10 +0000</pubDate>
<guid isPermaLink="false">http://cuikai-wh.com/test/psg2.php</guid>
<description>测试第二篇文章</description>
</item>

<item>
<title>第一篇文章</title>
<author>小轰同学</author>
<link>http://cuikai-wh.com/test/psg1.php</link>
<pubDate>Sat, 05 Mar 2011 11:30:10 +0000</pubDate>
<guid isPermaLink="false">http://cuikai-wh.com/test/psg1.php</guid>
<description>测试第一篇文章</description>
</item>

</channel>

</rss>

注释

01行,XML文件头,声明字符格式;

03行,以RSS格式书写,并兼容Atom格式;

05-34行,RSS文件的主要部分;网站的信息位于<channel>内顶部,每篇文章的信息位于<channel>的每个<item>里。

补充

<author>部分,万维网联盟标准要求以“电邮(名字)”的格式书写,而阅读器显示作者名称时,将显示全部内容(包括电邮),所以个人推荐就用普通的写法。如果网站内的文章作者只有一个,该字段可以省去。省去或后可以通过了标准验证,囧。

文件示意

PHP代码

PHP文档的目的是将以上XML代码直接输出(打印)出来,各种输出函数和方法都适用,比如最简单的echo()和print()。

文件头直接输出。<item>部分可以读取数据库,循环输出。

具体代码不再示意,见参考资料。

截图示意

测试网源-示意

测试网源-示意

参考资料

  1. 维基百科 《网源》(英文) http://en.wikipedia.org/wiki/Web_feed
  2. 维基百科 《RSS》(英文) http://en.wikipedia.org/wiki/RSS
  3. 哈佛 《RSS 2.0 规范》(英文) http://cyber.law.harvard.edu/rss/rss.html
  4. 瑞利亚 《RSS 格式规范》 http://rayleeya.javaeye.com/blog/372802
  5. 梅伟 《大家一起来学习下PHP开发网站的RSS》 http://bbs.phpchina.com/viewthread.php?tid=88831
  6. 万维网联盟 网源规范验证工具 http://validator.w3.org/feed/

评论

《对话守则》第一条:对话的目的是寻求真理。

以下选填: