摘要:RSS是一种常见的Web 2.0应用,在PHP中比较常用的RSS解析器为MagpieRSS。该文主要探讨了RSS的语法规则,MAG PIERSS解析机制、解析过程等方面的内容。
关键词:PHP;RSS;MAGPIERSS;WEB 2.0
中图分类号:TP393文献标识码:A文章编号:1009-3044201221-5072-02
RSS(简易信息聚合,也叫聚合内容)是一种描述和同步网站内容的格式,简单地说就是用于在网站间分享信息。RSS目前广泛用于网上新闻频道、blog及wiki等。使用RSS订阅能更快地获取信息,网站提供RSS输出,有利于让用户获取网站内容的最新更新。网络用户可以在客户端借助于支持RSS的聚合工具软件,在不打开网站内容页面的情况下阅读支持RSS输出的网站内容。[1]
<b> 1 RSS语法</b>
RSS文档使用一种简单的自我描述的语法,下面的代码段 example.xml 构成了一个简单的RSS文档:
<xml version="1.0" encoding="ISO-8859-1" >
<rss version="2.0">
<channel>
<title>Home Page</title>
<link>
<description>A University Located IN Yunnan Province</description>
<item>
<title>The Institute of Physics </title>
<link>https:// /rss</link>
<description>New RSS FROM BSNC</description>
</item>
</channel>
</rss>
代码清单中的第一行:XML声明,用于定义文档中使用的XML版本和字符编码。该例子遵守XML 1.0规范,并使用ISO-8859-1 Latin-1/West European字符集。下一行是标识此文档是一个RSS文档的RSS声明(这里是RSS version 2.0)。下一行含有<channel>元素,此元素用于描述RSS feed。
<channel>元素有三个必需的子元素:
<title> -定义频道的标题。(比如Home Page)
<link> -定义到达频道的超链接。(比如
<description> -描述此频道(A University Located In Yunnan Province)
每个<channel>元素可拥有一个或多个<item>元素。每个<item>元素可定义RSS feed中的一篇文章或"story"。<item>元素拥有三个必需的子元素:
<title> -定义项目的标题。(比如The Institute of Physics)
<link> -定义到达项目的超链接。(比如https:// /rss)<description> -描述此项目(比如New RSS FROM BSNC)
<b> 2如何在PHP中使用RSS</b>
在很多PHP语言编写的RSS工具中,MagpieRSS是一个很突出的RSS解析器。MagpieRSS简称Magpie是由Kellan Elliott-Mc Crea使用PHP编写的一个强大的RSS解析器。Magpie为开发人员提供了一种非常简洁实用的方式来获取和显示RSS提要,其主要特点如下:
简单易用:通过几行简单的代码就能够获取和解析RSS提要,并转换为网络用户容易阅读的格式。
高度的兼容性:Magpie支持各种RSS版本中的几乎所有标签集合以及开发人员自己定义的标签,只要格式正确,Magpie就能成功解析。
带宽占用率低:默认认情况下,Magpie将提要内容缓存为60分钟(当然我们可以根据实际需要修改此值,以适合各种提要的缓存首选项。[2]
2.1安装Magpie
与大多数PHP类一样,Magpie的安装非常简单,只需将相关的文件放在PHP脚本能够引用的目录中,安装步骤如下:
1)从
2)将包的内容解压至一个便于从PHP脚本包含的位置。
3)在脚本中包含Magpie类(rss_fetch.inc):
require(’magpie/rssfetch.php’);
2.2 Magpie如何解析
RSS提供了一种规范化的方式,基于XML格式封装网站内容,这称为提要(feed)。Magpie解析提要时,将其放在四个字段chan nel、image、items和textinput的对象中。其中,channel是一个关联数组的数组,其余三个是关联数组。我们可以通过以下PHP脚本获取example.xml提要,使用print_r语句输出:
<php
require"magpie/rss_fetch.inc";
$url="";
$rss=fetch_rss$url;
print_r$rss;
>
2.3如何显示RSS提要
我们可以通过以下Javascript代码显示RSS提要,用下段代码实现调用。
var STORE_KEY_FeedURL = "gf_FeedURL";