仅从 RSS 提要中获取最新的 3 个帖子


Grab only the latest 3 posts from RSS feed

我下面的代码正在获取整个 RSS 提要,我如何将它限制为仅检索最新的 3 个帖子?要么这样,要么只是显示最新的 3 个帖子,而不是所有帖子。

<?php
$xml=simplexml_load_file("http://tutorial.world.edu/feed/");
foreach ($xml->channel->item as $item) {
    $title = (string) $item->title; // Title Post
    $link   = (string) $item->link; // Url Link
    $pubDate   = (string) $item->pubDate; // date
    $description = (string) $item->description; //Description Post
echo '<div class="display-rss-feed"><a href="'.$link.'" target="_blank" title="" >'.$title.' </a><br/><br/>';
echo $description.'<hr><p style="background-color:#e4f;">'.$pubDate.'</p></div>';
 }
?>

一个简单的方法是计数。从零开始,每次迭代计数,如果计数器达到 4,则只需退出循环。

另一种可能性是在您遇到问题的Traversable$xml->channel->item)的IteratorIterator上使用LimitIterator

下面概述了这一点:

  • 如何使用 PHP 对 foreach 循环中的行进行分页

与您的问题相关的进一步是:

  • PHP 如何计算 simplexml_load_file() 返回的对象中的 xml 元素,
  • PHP - 显示来自foreach循环的"X"项,并带有显示下一个"X"项的链接
  • XML Feeds & PHP - 限制项目数
  • 使用 PHP 进行 XML 分页 [重复]

您可以使用 array_slice($xml->channel->item, 0, 3) for 这样它最多只能抓取 3 个首篇文章