get_item_quantity・set_item_limit・get_itemsについて【PHP|SimplePie】

SimplePieのget_item_quantityとset_item_limitとget_itemsがこんがらがってしまった時用のメモ。

get_item_quantity()

フィード全体の取得件数。0は全件。
各フィードごとの取得件数を指定したいときはset_item_limit()を使う。

set_item_limit()

各フィードごとの取得件数。
フィードを複数取得するときに使う。

get_items()

フィードの表示件数。foreachに最適。
get_items(0, 5)なら最新順に5件分(0始まり)
複数フィードのときは第2引数にget_item_quantityを指定することが多い。
※全件ループしたい場合はget_items(0, 0)
※forを使いたいときはget_item()

使用例

$feed = new SimplePie;
$feed->set_feed_url('https://...');
$feed->init();
$feed->handle_content_type();
$feed->set_item_limit(5);
$max = $feed->get_item_quantity(50);
$items = $feed->get_items(0, $max);
if($max !== 0) {
  foreach($items as $item) {
    $siteurl   = $item->get_feed()->get_link();
    $sitedesc  = $item->get_feed()->get_description();
    $title     = $item->get_title();
    $desc      = $item->get_content();
    $link      = $item->get_link();
  }
  ・・・
}

この記事は役に立ちましたか?

はい!の方は以下をポチっと

ブログランキング・にほんブログ村へ