手打ちHTMLサイトで他サイトのRSSを表示する方法

こんにちは、minoruです。

手打ちHTMLサイトでも、PHPが使えるサーバーであれば他サイトや、自分のブログなどのRSSをサイト内に表示する事ができます。

クロスドメインでRSSを取得してhtmlで表示する

上記の記事を参考にさせて頂いたのですが、上記の記事ではPHPでRSSを取得し、それをJavascriptで表示するという流れになっています。

私の場合はPHPだけを使って表示させてみました。

ソース

<?php
// タイムゾーンを日本に設定
date_default_timezone_set('Asia/Tokyo');
 
// 取得したいRSSのURLを設定
$url = "取得したいRSSのURL";
// MAXの表示件数を設定
$max = 5;
 
// simplexml_load_file()でRSSをパースしてオブジェクトを取得、オブジェクトが空でなければブロック内を処理
if( $rss = simplexml_load_file( $url ) ){
	$cnt = 0;
	$output = '';
	/*
	* $item->title:タイトル
	* $item->link:リンク
	* strtotime( $item->pubDate ):更新日時のUNIX TIMESTAMP
	* $item->description:詳細
	*/
	// item毎に処理
	foreach( $rss->channel->item as $item ){
		// MAXの表示件数を超えたら終了
		if( $cnt >= $max ) break;
 
		// 設定
		$title = $item->title;
	$date = date("Y/n/j", strtotime($item->pubDate));
	$link = $item->link;
	$description = mb_strimwidth (strip_tags($item->description), 0 , 110, "…Read More", "utf-8");
		// 出力する文字列を用意
		$output .= '<div class="date">'.$date.'</div><h4><a href="'. $link .'">'. $title . '</a></h4>'.$description;
		$cnt++;
	}
	// 文字列を出力
	echo $output;
}

たとえば上記のソースをabc.phpという名前で保存したとします。(htmlファイルと同じフォルダ内に入れると良いですよ)

あとはHTMLファイルの表示したい箇所に

<?php include('abc.php'); ?>

上記のコードを挿入するだけ。

今ブログを書くとなればワードプレスを使う人が殆どかと思いますが、ワードプレスの場合はデータベースのサーバーにアクセスする手間がかかる分、表示に時間がかかります。

それなりのサーバーを契約していればほとんど気にするような事ではありませんが、個人の極小サイト向けの安いレンタルサーバーなんかだと思いの外遅い事もあります。

それにワードプレスはデザイン1つ変えるにしても膨大な量のCSSの中から目的の物を探したりするのも億劫ですし、文章メインのシンプルなHTMLサイトの場合、ワードプレスよりも表示が軽いHTMLが私は好きです。

ツイッターはじめました!まだまだフォロワーさんが少なくてさみしいので、ぜひフォローお願いしまーす!

  • このエントリーをはてなブックマークに追加