Home » Tool&Tips » PHP5でRSS2.0を取得・表示

PHP5でRSS2.0を取得・表示

2013/02/03 2015/02/07 2015/03/05

当サイト(PHP5以上 , allow_url_fopen:on)で当サイトの RSS2.0フィード を取得し、任意の件数やカテゴリーをリスト表示します。

参考:php5 rss - Google 検索

1. 任意の件数を表示する

先頭から任意の件数を表示します。

<ul>
<?php

$rss = simplexml_load_file('http://ochikochi.com/rss');
$i   = 0;
foreach ($rss -> channel -> item as $item) {

  if( $i++ == 5 ) {

    break; // 先頭から5件を取得

  } else {

    $date  = date('Y/m/d h:ia', strtotime($item -> pubDate)); // 日付
    $link  = $item -> link; // リンク
    $title = $item -> title; // タイトル
    // 内容
    $desc = $item -> description;
    // 内容: リンク部分を削除 ※直接リンク先に飛ばないため
    $desc = preg_replace("/<a (.+?)<\/a>:/","",$desc);
    // 内容: HTMLタグを削除
    $desc = strip_tags($desc);
    // 内容: 先頭から50字を表示・末尾に「…」・文字コードはUTF-8
    $desc = mb_strimwidth($desc , 0, 50 , " …" , utf8);
    // HTML整形 ※リストアイテム
    echo '<li>{$date} <a href="{$link}">{$title}</a> {$desc}</li>';

  }
}
?>
</ul>

結果。

2. 任意のカテゴリーを表示する

任意のカテゴリーの記事を全て表示します。

<ul>
<?php

$rss = simplexml_load_file('http://ochikochi.com/rss');
foreach ($rss -> channel -> item as $item) {

  $Category = $item -> category;

  if( $Category != '雑記' ) {

    unset( $item ); //「雑記」以外のカテゴリーを削除

  } else { //「雑記」カテゴリーの記事を全て表示

    $date  = date('Y/m/d h:ia', strtotime($item -> pubDate)); // 日付
    $link  = $item -> link; // リンク
    $title = $item -> title; // タイトル
    // 内容
    $desc = $item -> description;
    // 内容: リンク部分を削除 ※直接リンク先に飛ばないため
    $desc = preg_replace("/<a (.+?)<\/a>:/","",$desc);
    // 内容: HTMLタグを削除
    $desc = strip_tags($desc);
    // 内容: 先頭から50字を表示・末尾に「…」・文字コードはUTF-8
    $desc = mb_strimwidth($desc , 0, 50 , " …" , utf8);
    // HTML整形 ※リストアイテム
    echo '<li>{$date} <a href="{$link}">{$title}</a> {$desc}</li>';

  }
}
?>
</ul>

結果。

  • 2024/03/31 2024年3月 ∇=´) さよなら令和5年度
  • 2024/02/29 2024年2月 ∇◎´) ゚。°。 閏年ゆえ29日
  • 2024/01/31 2024年1月 ∇ー´)/) ゚・*:.。. 謹賀初モフッ
  • 2023/12/31 2023年12月 ∇ー´)/) ゚・*:.。. 良いお年を
  • 2023/11/30 2023年11月 ∇=´) ゚。°。 例年より雪の早い霜月でした
  • 2023/10/31 2023年10月 ∇=´))) 寒かったり暑かったり
  • 2023/09/30 2023年9月 ∇ー´)/) ゚・*:.。.お誕生月!
  • 2023/08/31 2023年8月 ∇=´) 真夏日から秋風まで
  • 2023/07/31 2023年7月 ∇+´) 梅雨明けて連日真夏日
  • 2023/06/30 2023年6月 ∇=´)il||li 梅雨入り~
  • 2023/05/31 2023年5月 ∇=´) 梅雨も近づくカエルさんゲコゲコ
  • 2023/04/30 2023年4月 ∇=´) 新年度~

3. 任意のカテゴリーを任意の件数だけ表示する

任意のカテゴリーの記事を先頭から任意の件数を表示します。上記1.と2.の合わせ技。

<ul>
<?php

$rss = simplexml_load_file('http://ochikochi.com/rss');
$i   = 0;
foreach ($rss -> channel -> item as $item) {

  $Category = $item -> category;

  if( $Category != '雑記' ) {

    unset( $item ); //「雑記」以外のカテゴリーを削除

  } elseif( $i++ == 3 ) {

    break; // 「雑記」カテゴリーの記事を先頭から3件取得

  } else {

    $date  = date('Y/m/d h:ia', strtotime($item -> pubDate)); // 日付
    $link  = $item -> link; // リンク
    $title = $item -> title; // タイトル
    // 内容
    $desc = $item -> description;
    // 内容: リンク部分を削除 ※直接リンク先に飛ばないため
    $desc = preg_replace("/<a (.+?)<\/a>:/","",$desc);
    // 内容: HTMLタグを削除
    $desc = strip_tags($desc);
    // 内容: 先頭から50字を表示・末尾に「…」・文字コードはUTF-8
    $desc = mb_strimwidth($desc , 0, 50 , " …" , utf8);
    // HTML整形 ※リストアイテム
    echo '<li>{$date} <a href="{$link}">{$title}</a> {$desc}</li>';

  }
}
?>
</ul>

結果。

  • 2024/03/31 2024年3月 ∇=´) さよなら令和5年度
  • 2024/02/29 2024年2月 ∇◎´) ゚。°。 閏年ゆえ29日
  • 2024/01/31 2024年1月 ∇ー´)/) ゚・*:.。. 謹賀初モフッ

(`ー∇ー´)φ Kindle本、始めました。

河馬追物 [Kindle版] / 越智 夕恵

動物をモチーフにした短編集。5作品を収録。

『信濃の国は』移住した信州での日々。

『カッコウの呼ぶ声』近未来の男女に関する一考察。

『月のウサギ』今昔物語に拠る戯曲。

『登攀ガエル』ニホンアマガエルとの交流。

『河馬追物』都会の奇妙な追跡劇。

[Kindle価格]¥100.