我使用 simplepie 来合并 rss 提要。我在此页面上有两个部分,它们对不同的提要执行相同的操作。我对它们进行排序。这是我的代码:
$feeds=array(
'http://feeds.feedburner.com/Belvederegasse',
'http://diealternative.org/zeitschrift/feed/rss/',
'http://diealternative.org/arbeitsklima/feed/rss/',
'http://feeds.feedburner.com/Arbeitszeit',
'http://feeds.feedburner.com/AugeFinance',
'http://diealternative.org/nulllohnrunden/feed/',
'http://diealternative.org/bulletin/feed/rss/',
'http://feeds.feedburner.com/verteilungsgerechtigkeit',
'http://feeds.feedburner.com/hochschule',
'http://feeds.feedburner.com/Sozialmilliarde'
);
$first_items = array();
foreach ($feeds as $url)
{
$feed = new SimplePie();
$feed->set_stupidly_fast(true);
$feed->enable_order_by_date(true);
$feed->enable_cache(true);
$feed->set_feed_url($url);
$feed->init();
$items_per_feed = 5;
for ($x = 0; $x < $feed->get_item_quantity($items_per_feed); $x++){
$first_items[] = $feed->get_item($x);
}
unset($feed);
}
function sort_items($a, $b){
return SimplePie::sort_items($a, $b);
}
usort($first_items, "sort_items");
foreach ($first_items as $item):
if ($itemlimit==8) { break; }
//HTML output
$itemlimit = $itemlimit + 1;
endforeach;
?>
当您访问页面http://diealternative.org时,加载需要超过 20 秒。这并不奇怪,因为有很多要解析的提要,但是缓存呢?加载后,它不应该重新连接到提要,它应该使用缓存。
为什么每次加载都需要这么长时间。