人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

simplexmlで複数サイトのRSSを読みこみ、新着順で表示させる方法

simplexmlで複数サイトのRSSを読みこみ、混在させて新着順で表示させる方法を探しています。
更新時間・記事タイトル・サイト名の順番で表示させたいです。

具体的には以下のような状態です
http://owata-net.com/
http://www.shobon.jp/


http://q.hatena.ne.jp/1320144516等を参考にしたところ、複数サイトを読みこんだ上で

更新時間・記事タイトル

といった風に並べる方法は分かりましたが、サイト名まで取得して更新時間・記事タイトル・サイト名の順番で表示させる方法が分かりません、
できればコードまで書いてくださると助かります

simplepieやmagpie、Google AJAX Feed等も利用してみましたが表示時間などの面で問題がありました
simplexml_load_stringかsimplexml_load_file関数を使用するものでお願いします

●質問者: たかくん
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● Cherenkov
●334ポイント ベストアンサー

「新着順に 更新時間・記事タイトル・サイト名 の形式で表示」したいのですよね。

http://q.hatena.ne.jp/1320144516 のコードにサイトタイトルを追加しただけですが、

https://gist.github.com/2663757


たかくんさんのコメント
ありがとうございます。 試してみたのですが、ライブドアブログやfc2ブログのxmlは読みこめるのですが、Yahooブログなどの一部のブログではパースエラーが出てしまい、そこからさらに更新ボタンを押して初めて正常に表示されるという現象が起こってしまいます。 1回目の読み込みの時点で上手く表示する方法はないでしょうか。

Cherenkovさんのコメント
そのフィードのurlを提示してください

たかくんさんのコメント
申し訳ありません、もう一度試してみたところ上手くいきました どうやら無効なフィードが含まれていたことが原因だったようです。

たかくんさんのコメント
ありがとうございます。無事完成できました。お礼が遅れて申し訳ありません 本当にありがとうございました

2 ● pretaroe
●333ポイント

Yahoo! Pipesを使うと簡単だと思いますが・・。
コードも書く必要もなく、スピード的にも問題ないかと。

-----
通常のRSSなので、RSSを読む機能があるのならそれを使用すると良いと思います。
Facebookなどに表示するときなどに加工するために、Yahoo! Pipesはよく使われています。


たかくんさんのコメント
ありがとうございます。試してみます。

3 ● Cherenkov
●333ポイント

クライアント側からフィードのリストをpipesに投げて、
pipes側でフィードをまとめて、エントリータイトルにチャンネルタイトルを付けて、最新順にソートしてJSONを取得して表示するデモを書いてみました。
もしこの方式を使う場合は、phpに書き直してpipesの返り値をキャッシュさせてクライアントに出力するほうがいいと思います。
https://gist.github.com/2663761
demo http://jsfiddle.net/gh/gist/jquery/1.6.4/2663761/

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ