get_item_quantity / set_item_limit / get_itemsの違い【SimplePie】

この記事は最終更新から2年以上経過しています。内容が古くなっているかもしれません。。

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

get_item_quantity()

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

set_item_limit()

各フィードごとの取得件数。
フィードを複数取得するときに使う。必ずinit()より前に書くこと。

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->set_item_limit(5);
$feed->init();
$feed->handle_content_type();
$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();
  }
  ・・・
}

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

はい

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

コメントを残す