首页 > web > SimplePie 实用的RSS 解析程序

SimplePie 实用的RSS 解析程序

Nov 18th,2011 发表评论

SimplePie 是一个 RSS 解析程序,今天试了一下,用它来解析RSS实在是太方便了。 它和 WorPress 内部集成的MagpieRSS很类似。SimplePie 在对 RSS 或 Atom 的数据处理能力上毫不逊色于 MagpieRSS,并且 SimplePie 速度更快,而且功能也更加强大,SimplePie 拥有了比MagpieRSS 更多的实用方法和属性,这可以帮助你快速的构建一个 RSS 阅读器或 RSS 数据处理模块。

使用方法:

SimplePie下载地址:http://simplepie.org/downloads/

把下载下来的ZIP压缩包解压到某个目录下,在需要使用的时候把其中的simplepie.inc文件include进来就行了。

SimplePie 使用上非常简单,它的构造函数有三个参数。

  • feed_url 设置 Feed 的地址,可以输入多个。
  • cache_location 设置缓存的文件夹
  • cache_duration 设置缓存时间,默认为60分钟


所以读取一个 Feed,简单列出标题的代码如下:

// Single feed
$feed = new SimplePie('http://www.tiham.com/feed', $_SERVER['DOCUMENT_ROOT'] . '/cache');
echo $feed->get_title();

如果读取多个 Feed,则如下:

// Multiple feeds
$feed = new SimplePie(array(
    'http://www.tiham.com/feed',
    'http://digg.com'
), $_SERVER['DOCUMENT_ROOT'] . '/cache');
echo $feed->get_title();

但是,通常的会这么使用,会让程序结构更清晰,也是推荐的写法:

// Single feed
$feed = new SimplePie();
$feed->set_feed_url('http://www.tiham.com/feed');
$feed->enable_order_by_date(false);
$feed->cache_location($_SERVER['DOCUMENT_ROOT'] . '/cache');
$feed->init();
echo $feed->get_title();

注意:

别处可以注意下set_stupidly_fast()方法,SimplePie->set_stupidly_fast(true)可以让SimplePie更快,应为他跳过了一些html标签处理。SimplePie数据格式化可以防止一些危险代码。如果你不确定代码安全性,请设置为false,以避免安全问题。如果你觉的这不是个问题并且不想SimplePie改变你的代码/标签,请设置为true。
SimplePie似乎要在cache目录下缓存一些内容,所以最好在文件所在目录下建一下cache文件夹,并给它可写权限:chmod +w cache,不然会出现Warning。

PS:

SimplePie 设计的一个很大的不合理之处是将 items 的排序方法内置在 init 方法中,这样想使用原生数据就需通过其他方式来实现了。

关于更多 SimplePie 的使用,请参考 SimplePie 的 API

很多插件可以让你很快在 WordPress 中使用 SimplePie。

首先 SimplePie Core 可以让你在 WordPress 中直接使用 SimplePie。

稍微复杂一些的应用可以使用 SimplePie Plugin for WordPress,可以让你在后台通过简单配置就能显示其他的 Feed。

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: SimplePie 实用的RSS 解析程序
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.