我下面的代码正在获取整个 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 个首篇文章