Google Feed APIが2016年9月29日に提供終了するということで、そろそろ本気で…と思って作業してました。
代替のrss-phpの使い方はこちらでお勉強しました!
「Google Feed API」の代替として「rss-php」でRSSやAtomフィードを取得・表示する – lesson me
そんな時、あるサイトで普通にrss-phpを使おうとしたところ、表示部分以下が真っ白に。
あれ?PHP動いてない?
サーバーのエラーログを見てみたら、パースエラーが出ていました。
恐るおそるPHPのバージョンを確認…
PHP4.3.9
OMG。
「PHP4 RSS」で検索したらこちらの記事に行き着きました。
PHP4でWeb上のRSSを簡単に読み込んでみた
まじで助かったのです。
(xml.phpはリンク切れになっていたので検索して探しました。)
少し自分用にアレンジ。
<?php include('xml.php'); //xml.phpを同じ場所に置く $RSS_HOST = 'http://www.example.com/blog/feed/'; //FeedのURL $xml_data = file_get_contents($RSS_HOST); $data = XML_unserialize($xml_data); $disp_count = 5; //表示件数 $idx = 0; foreach($data['rss']['channel']['item'] as $entry){ // 日付の取得(UNIX TIMESTAMP) foreach( array( "pubDate" , "date_timestamp" , "dc:date" , "published" , "issued" ) as $time ){ if( isset( $entry[$time] ) && !empty( $entry[$time] ) ){ $timestamp = ( is_int( $entry[$time] ) ) ? $entry[$time] : strtotime( $entry[$time] ) ; break ; } } $strdate = date('Y/m/d', $timestamp); echo '<li><span class="newsdate">'.$strdate.'</span><br /><a href="' . $entry['link'] . '" target="_blank">' . $entry['title'] . '</a></li>'; $idx++; if($idx == $disp_count){ break; } } ?>
表示したい箇所にincludeして終了!
<?php include("lib/rss.php"); ?>
ありがとうございました。