SimplePie 实用的RSS 解析程序
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。