2013-11-01 1 views
-2

Мой код ниже получает всю ленту RSS, как я могу ограничить это, чтобы получить последние 3 сообщения? Либо это, либо просто отображать только последние 3 и не все сообщения.Захватить только последние 3 сообщения из RSS-ленты

<?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>'; 
} 
?> 

ответ

0

вы можете использовать array_slice ($ xml-> channel-> элемент, 0, 3) в течение sothat он грейферы только до 3 первых сообщений

+0

не работает не является массивом. – hakre

1

простой способ сделать это рассчитывать. Начиная с нуля и подсчета за каждую итерацию, вы просто выходите из цикла, если счетчик достигает четырех.

Другая возможность заключается в том, чтобы использовать LimitIterator на IteratorIterator на Traversable у вас в вопросе ($xml->channel->item).

Это описано здесь:

И далее связанные с вашим вопросом являются:

Смежные вопросы