ブログを読み込むための基本
ブログを読み込むための基本を紹介しています。
当ホームページでは、PHP5を使用しています。PHP5が使用できない環境の方は、こちらのエックスサーバーをご検討下さい。当ホームページでも使用しているおすすめのサーバーです。
フィード(RSS、Atom)
読み込みたいフィードのURLを調べます。 アイコンがあれば、そのリンク先がフィードのURLである可能性が高いです。ブラウザで次のように表示されるはずです。当ブログのフィード(Atom)
ご使用のフィードリーダーによっては、リーダーの登録画面に移動してしまうかもしれません。リーダーの設定を変更できるはずですので、確認して下さい。
フィードのXML構造を確認する
フィードはXML形式となっています。フィードを表示したブラウザから、ソースを確認してXML構造を確認する必要があります。表示させたい必要な部分をプログラムで抜きだして使用します。
以下は、当ブログフィードのXML構造です。(WordPressのAtom)
feed title subtitle updated generator link id entry author name uri title link id updated published category summary content link thr:total
サンプルコード
XML構造が確認できたら、あとはプログラムで抽出するだけです。
サンプルコードの実行結果
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ブログの読み込み</title>
<style type="text/css">
<!--
h4 {
margin: 0px;
padding: 0px;
line-height: 200%;
}
p {
margin: 0px;
padding: 0px;
line-height: 150%;
}
.gray {
color: gray;
}
//-->
</style>
</head>
<body>
<?php
$base = 'http://web.shirakabako.net/blog/feed/atom';
$xml = simplexml_load_file($base);
foreach($xml->entry as $entry ){
$title = $entry->title;
$summary = $entry->summary;
$published = $entry->published;
$attrs = $entry->link->attributes();
$link = $attrs->href;
$up = strtotime($published);
$updt = date('Y年m月d日',$up);
print <<< page
<h4><a href="{$link}" target="_blank">{$title}</a></h4>
<p><small class="gray">{$updt}投稿</small><br>{$summary}</p>\n
page;
}
?>
</body>
</html>
サンプルコードの説明(PHP部分のみ)
プログラム | 説明 |
---|---|
$base = 'http://web.shirakabako.net/blog/feed/atom'; | 読み込むフィードURLを$baseに代入 |
$xml = simplexml_load_file($base); | 返ってきたXMLを$xmlに代入する。 |
foreach($xml->entry as $entry ){ | entryを変数$entryに代入する。entry分繰り返す。 |
$title = $entry->title;他 | titleを$titleに代入する。summary以下同様 |
$attrs = $entry->link->attributes(); $link = $attrs->href; |
<link href="●●">の●●を抜きだしている部分 |
$up = strtotime($published); $updt = date('Y年m月d日',$up); |
2008-11-10T08:24:22Z (英文形式)の日時を 2008年11月10日に変換しています。 |
print <<< page 以下 | XMLから抜き出したデータを表示する |
たったこれだけ
これだけで、フィードの内容を表示できます。XML構造を理解するのが手間なだけです。
各ブログのサンプルコードはこちらにあります。ライブドア ブログ ヤフーブログ