REDLINE MAGAZINE | SimpleXML関数使ってフィード読み込みたいREDLINE MAGAZINEトップページへ

すべてのエントリを見る

SimpleXML関数使ってフィード読み込みたい

PHP5にはxmlを扱うのに適したSimpleXML関数っつーのがあるっていうのは前々から知ってて興味津々だった。ということでさっそく使ってみる。

何かを参考にしたいと、ググったらこちらのページへたどり着いた。

PHP5を試してみる - SimpleXML関数でRSSしてみる - Do You PHP?

よし。書いてある意味は理解した。なんか・・・これってツリー構造の考え方ができればいけそうな気がした。そちらのソースをお手本にして自分ちのフィード読み込んでみる。

とりあえずまず自分ちのフィードのソースを確認。かなりはしょってる(はしょってるって標準語じゃなかったらごめんなさい)けど、だいたい使えそうなのはこんな感じ。

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>サイトタイトル</title>
<link>トップページのURL</link>
<description>descriptionの内容</description>
<item>
<title>ページのタイトル</title>
<description>コンテンツ内容</description>
<link>URL</link>
<guid isPermaLink="false">URL</guid>
<category domain="http://www.sixapart.com/ns/types#category">カテゴリ</category>
<pubDate>日付</pubDate>
<feedburner:origLink>URL</feedburner:origLink>
</item>
</channel>
</rss>

サイトタイトルにトップページURLのリンクつける。descriptionの内容もいれとく。その下にhrで区切り線入れて、後はULリストで各ページのリンク付きタイトルを並べるという形にする。(コンテンツ内容入れるとめっちゃ長くなったので$item->descriptionは却下した)

<?php
function convert($str) {
    return mb_convert_encoding($str, mb_internal_encoding(), "auto");
}

    $rss = simplexml_load_file('http://feeds.feedburner.jp/RedlineMagazine/');
    echo "<h1><a href=\"" . convert($rss->channel->link) . "\">" . convert($rss->channel->title) . "</a></h1>\n";
    echo "<p>" . convert($rss->channel->description) . "</p>\n";
	echo "<hr />\n";
    echo "<ul>\n";
    foreach ($rss->channel->item as $item) {
        echo "<li><a href=\"" . convert($item->link) . "\">" . convert($item->title) . "</a></li>\n";
    }
    echo "</ul>";
?>

キャプチャ・フィード読み込んだ画面

よし。でけた。なんか思いのほか簡単というか、エラーも出ずにあっさりできたので逆にびっくりした。こんな素人でもできるんやーって感動。すごいね。っていうか、上で紹介したサイトの解説が素晴らしかったんだな。

ただこのサーバーまだPHP4なのでサンプルページとかアップはしない。

マニュアルリンク

PHP: SimpleXML 関数 - Manual

<< 「お知らせ」が「更新情報」に派生した(2) | だから変数に入れてからループ回せって話 >>

トラックバック

このエントリーのトラックバックURL:
http://redline.hippy.jp/cgi/mt/mt-tb.cgi/223

このページの一番上へ

その他の情報など

最近のコメント

PHP オブジェクト指向の勉強
  • Red - 2010.01.08
  • hogepage - 2010.01.21
  • Red - 2010.01.22
  • - 2011.11.27
  • houseiii - 2011.11.27
Fireworks トリミング画像を一括書出 CS4編
  • Iper - 2009.06.27
  • Red - 2009.06.27
  • mala - 2011.11.17
  • Red - 2011.11.18
jQueryでボックスを上下左右中央に簡単配置
overflow を使用したボックス背景のこと
  • - 2007.12.13
  • Red - 2007.12.13
  • - 2007.12.13
  • Red - 2007.12.13
  • hj - 2011.09.23
IE6 → 透過PNG+overflow=混ぜるな危険(追記有)

メッセージを送る

こちらのメッセージ送信フォームは閉鎖させて頂きました。
御用の方は新しい方のブログ にコメント頂くか、 連絡用のフォーム もありますので、そちらからご連絡ください。