我想问一些具体的问题。我已阅读过SimplePie手册,但我仍感到困惑。我正在尝试混合来自不同Feed的项目,但是因为我每次抓取并解析Feed时都会通过随机函数将Feed urls传递给SimplePie对象,因此它的第一个项目总是由Simplepie呈现,因此我有很多次相同Feed的相同项目。我使用set_item_limit为每个Feed提供一个项目。
那么我想问的是什么?如果我理解的话,Set_item_limit允许用户循环遍历Feed的所有项目,但只显示用户在函数中指示的数字?
如果我是对的,我可以使用set_item_limit(1)来显示每个Feed的一篇文章,但每次都是一个不同的项而不是最新的一个?
答案 0 :(得分:0)
set_item_limit()
定义了可供展示的Feed数量。
function fetch_feed($urls, $limit = 3) {
require_once('lib/simplepie/simplepie.inc');
$feed = new SimplePie();
$feed->set_feed_url($urls);
$feed->set_item_limit($limit);
$feed->enable_cache(true);
$feed->set_cache_duration(100);
$feed->init();
$feed->handle_content_type();
return $feed;
}
$urls = array('feed_link_1', 'feed_link_2', 'feed_link_3');
$feed = fetch_feed($url, $limit = 5);
foreach($feed as $item){
// do stuff with the item. This is the single feed item.
}
这是我用于获取Feed的函数。您可以看到set_item_limit();
功能的使用。谢谢!