-1

最新の 5 つのフィードのみを自分の Web サイトに表示したい。
次のコードを使用して RSS フィードを取得しています...表示されるフィードを制限するのに役立つ人はいますか...事前に感謝します:)

使用しているコード

<?php
 require_once('rss_fetch.inc');

 $url = 'http://news.google.com/news?ned=us&topic=h&output=rss';

 $rss = fetch_rss($url);

 echo "Site: ", $rss->channel['title'], "<br>\n";
 foreach ($rss->items as $item ) {
   $title = $item['title'];
   $url   = $item['link'];
   $desc = $item['description'];
   $category = $item['category'];
   echo "<a href=$url>$title</a>$desc <br/>CATEGORY : $category <br/><br/> ";
 }
?>
4

2 に答える 2

2

foreach?を使用して制限します。

 foreach ($rss->items as $i => $item ) { // use $i as counter
   $title = $item['title'];
   $url   = $item['link'];
   $desc = $item['description'];
   $category = $item['category'];
   echo "<a href=$url>$title</a>$desc <br/>CATEGORY : $category <br/><br/> ";
   if($i == 4) break; // add this, == 4 is because $i starts from 0
 }
于 2012-05-25T08:47:57.603 に答える
1

投稿数を制限したい場合は、それらを追跡し、該当する場合は foreach ループから抜け出す必要があります。

<?php
 require_once('rss_fetch.inc');

 $url = 'http://news.google.com/news?ned=us&topic=h&output=rss';

 $rss = fetch_rss($url);

 echo "Site: ", $rss->channel['title'], "<br>\n";
 $numposts = 0;
 $maxposts = 5;
 foreach ($rss->items as $item ) {
   $numposts++;
   if ($numposts<=$maxposts) {
     $title = $item['title'];
     $url   = $item['link'];
     $desc = $item['description'];
     $category = $item['category'];
     echo "<a href=$url>$title</a>$desc <br/>CATEGORY : $category <br/><br/> ";
   } else {
     break;
   }
 }
?>
于 2012-05-25T08:47:56.247 に答える