手打ち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が私は好きです。

追伸

ニンテンドースイッチのプロコンは品薄続きでどこにも売ってない…、互換コントローラーマニアの私が色々試した結果、これが一番コスパよく満足度が高かったので一応リンク貼っときます。
https://amzn.to/3FPHsfZ

シェアする

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

フォローする