Written by Manabu Bannai

【コピぺで完了】外部RSS読み込んで別のページに出力する方法【PHP】

PHP PROGRAMMING

備忘録的なまとめです。
外部RSSを読み込んで出力するPHPスクリプトです。

可能な限りRSSを取得するPHPスクリプト

RSSの配信数はサイトによって決まっていますが、以下のスクリプトでは可能な限りRSSを取得することができます。
例にはぼくのブログを使っていますが、RSSの配信数は10個となっています。

<?php
	$rss = simplexml_load_file('https://manablog.org/feed/');
	echo '<ul>';

	foreach($rss->channel->item as $item){
		$title = $item->title;
		$date = date("Y年 n月 j日", strtotime($item->pubDate));
		$link = $item->link;
	?>

	<li>
		<a href="<?php echo $link; ?>" target="_blank">
		<span class="date"><?php echo $date; ?></span>
		<span class="title"><?php echo $title; ?></span>
		</a>
	</li>
<?php }  echo '</ul>'; ?>

必要な数だけRSSを取得して表示するPHPスクリプト

$num_of_dataで取得数を定義できます。

<?php
	$rssdata = simplexml_load_file("https://manablog.org/feed/");

	// 読み込み件数を決定する
	$num_of_data = 5;

	//出力内容の初期化
	$outdata = "";

	//設定した読み込み件数分だけ取得を繰り返す
	for ($i=0; $i<$num_of_data; $i++){
		$entry = $rssdata->channel->item[$i]; //記事1個取得
		$date = date("Y年 n月 j日", strtotime($entry->pubDate));
		$title = $entry->title; //タイトル取得
		$link = $entry->link; //リンクURL取得

		//出力内容に日付けを入れる
		$outdata .= '<li><a href="' . $link . '">' . $date;

		//出力内容にリンク付きでタイトルを入れる
		$outdata .= '<span>' . $title . '</span></a></li>';
	}

	echo '<ul>' . $outdata . '</ul>'; //実行結果を出力する

サムネイルは以下のように取得できます

$items = simplexml_load_file('http://matome.naver.jp/feed/hot')->channel->item;
$url = (string)$items[0]->children('media', true)->thumbnail->attributes()->url;
<a href="<?php echo $items->link; ?>"><img src="<?php echo $url; ?>"></a>

以上となります。
参考になれば幸いです。

人気記事:Web制作の独学方法をガッツリまとめました。

» 【独学でWeb制作マスター】勉強方法のまとめ【初心者向け】

おすすめ:Webで稼ぎたいなら、Webマーケティングを学びましょう。ノウハウまとめました。

» 【超初心者向け】Web集客の基礎から応用までガッツリまとめました。