使用SimplePie,多个Feed无法正常工作

时间:2015-04-14 03:59:49

标签: rss simplepie

我正在尝试从各个网站获取多个Feed。但每当我运行脚本时,它都会从一个站点提供源,有时从脚本中指定的所有站点提供。 以下是 Simplepie -

中的代码
/ Include the SimplePie library
// For 1.0-1.2:
#require_once('simplepie.inc');
// For 1.3+:
require_once('autoloader.php');

// Create a new SimplePie object
$feed = new SimplePie();

$feed->set_feed_url(array(
'http://digg.com/rss/index.xml',
'http://feeds.tuaw.com/weblogsinc/tuaw',
'http://feeds.uneasysilence.com/uneasysilence/blog'
));

// We'll use favicon caching here (Optional)
$feed->set_favicon_handler('handler_image.php');

// Initialize the feed object
$feed->init();

// This will work if all of the feeds accept the same settings.
$feed->handle_content_type();

// Begin our XHTML markup
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head>
<title>Awesome feeds</title>
<link rel="stylesheet" href="../demo/for_the_demo/simplepie.css"
type="text/css" media="screen" charset="utf-8" />

<style type="text/css">
h4.title {
    /* We're going to add some space next to the titles so we can fit 
the 16x16 favicon image. */
    background-color:transparent;
    background-repeat:no-repeat;
    background-position:0 1px;
    padding-left:20px;
}
</style>
</head>
<body>
<div id="site">

    <?php if ($feed->error): ?>
    <p><?php echo $feed->error; ?></p>
    <?php endif; ?>

    <h1>Awesome feeds</h1>

    <?php foreach ($feed->get_items() as $item): ?>

    <div class="chunk">

        <?php /* Here, we'll use the $item->get_feed() method to gain access to the parent feed-level data for the specified item. */ ?>
        <h4 class="title" style="background-image:url(<?php $feed = $item->get_feed(); echo $feed->get_favicon(); ?>);"><a href="<?php echo $item->get_permalink(); ?>"><?php echo $item->get_title(); ?></a></h4>

        <?php echo $item->get_content(); ?>

        <p class="footnote">Source: <a href="<?php $feed = $item->get_feed(); echo $feed->get_permalink(); ?>"><?php $feed = $item->get_feed(); echo $feed->get_title(); ?></a> | <?php echo $item->get_date('j M Y | g:i a T'); ?></p>

    </div>

    <?php endforeach; ?>

</div>

有人知道当前脚本出了什么问题吗? 我搜索了与此相关的信息,但我没有帮助。

1 个答案:

答案 0 :(得分:1)

我在配置代码中执行的是limit the number of items per feed,以便您从每个Feed中获取一些内容。因为它按日期排序,如果一个Feed有15个项目比您的任何其他Feed更新,那么您将首先获得这些项目,并且您可能看不到其他Feed中的任何项目。

$max_items_per_feed = 3;
// limit the number of items
$feed->set_item_limit($max_items_per_feed);