PHP4で動くRSSフィード取得プログラムを使ったよ

rss-php

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"); ?>

ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA