【问题标题】:RSS Feed getting cut offRSS 提要被切断
【发布时间】:2012-10-02 20:48:28
【问题描述】:

我正在尝试将 RSS 提要引入我的 PHP 代码。当我使用 Google 阅读器查看提要时,我在提要中看到数百个项目。但是,当我将它放入我的代码中时,我只看到了 10 个。

造成这种差异的原因是什么?如何获取完整的提要?

【问题讨论】:

    标签: php rss simplepie


    【解决方案1】:

    由于您没有显示您的代码,因此无法确定地说明问题所在。但是,您将问题标记为 SimplePie 问题,并且 SimplePie 在某些地方默认为 10 个项目。所以,这很可能是正在发生的事情。

    如果您想要更多项目,您需要告诉它显示更多项目。见the Render Options section of the wiki documentation。注意items 选项。 "要显示的项目数(其余项目在单击“更多”之前隐藏)。默认为 10。"

    更新:您的评论提醒我您正在使用 Google 阅读器查看 RSS 提要中的内容。但谷歌阅读器将包含不再在提要中的内容。与 Google 的 Feed API 一样,Google Reader 会长时间(也许永远?)缓存内容,以便用户可以查看来自黑暗过去的条目。但实际的 RSS 提要通常不会包含非常旧的项目,可能是为了保持 RSS 提要的大小合理,以便处理它的人快速响应。

    【讨论】:

    • 我的顶部代码块:<?php include_once 'php/autoloader.php'; $feed = new SimplePie(); $feed->set_feed_url('http://feeds.feedburner.com/sportsblogs/sbnation.xml'); $feed->enable_cache(false); $feed->init(); $feed->handle_content_type(); ?> 底部代码块:<?php $pattern = "/^http\:\/\/www\.sbnation\.com\/college-football\//"; $counter = 0; foreach ($feed->get_items() as $item) { if (preg_match($pattern, $item->get_permalink())) { echo $item->get_permalink(); } else { //do nothing } } ?>
    • 我不确定要添加到我的脚本中的哪一行才能完成这项工作——不幸的是,我不是一个经验丰富的 PHP 开发人员,也不知道在哪里放置该行将使这项工作。如果您能提供指点,我将不胜感激!
    • 现在您已经发布了您的代码,但在我看来,它不像我所猜测的那样正在发生。您的代码似乎正在阅读整个 RSS 提要,但随后仅显示永久链接以 http://www.sbnation.com/college-football/ 开头的条目。也许只有十个这样的项目。我现在正在查看提要,我看到这样的项目为零,所以我不确定发生了什么。
    • 这很奇怪...如果您将提要插入 Google 阅读器,则有数百个项目,但当您通过 SimplePie 将其拉入时却没有。正如您所建议的,我基本上是在尝试创建一个过滤的提要,因为这个特定的网站不会为其大学橄榄球部分提供 RSS,因此我正在进行正则表达式匹配。
    • 啊!那是因为谷歌阅读器缓存了旧的结果。我会更新我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 2010-09-08
    • 2014-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多