サントリーお酒のインターネット通販






クーポン印刷して利用してます。お徳♪




ジョギングするならジョグノート!


アクセスランキング
2006年10月19日(木) 12時55分17秒

PHPでMagpieRSSを使ってRSSリーダ作成し、トップページに埋め込みました!

テーマ:メモ!メモ!!
嫁はん妊娠から出産~育児っと、、、NSR活動を自主規制してるので (∀`*ゞ)エヘヘ
自サイト(http://www.yamasita.info/ )の更新ネタもあまりなく ヽ(´Д`;)ノアゥア...
 
Web上に分散してるNSRに関する情報を、もっと有効活用できるように情報共有したいなー
なんて漠然と思いつつ、、、ブログの更新情報(RSS配信)を更新日で並べて表示とかどうかな?
んっと、自サイトにRSSリーダー機能を追加してみるか!?っと思いつき (゚з゚)イインデネーノ?
 
…で、RSS(XML)ファイルの読込みなどをWebで検索して情報収集して下調べ o(゚Д゚ = ゚Д゚)o キョロキョロ
 
要求事項(僕のニーズ)は… ( ゚д゚)ホスィ…
 1.複数のRSSファイルを読み込んで、トップページに5件ほど、あとは全件表示したい!
 2.複数のブログ記事を、日付で逆ソートして最新記事を上にして表示したい!
 3.できればPHPスクリプトで作成できれば、後々メンテナンスが楽かも?(Perlはシンドイ…)
 
後輩F嶋くんが、「XMLパーサーを利用すればXML読込みできますよー」だそうで調べてみたけど・・・
RSSファイルに特化したMagpieRSS(RSSパーサー)の方が簡単そうだったので使ってみましたよ!
 
MagpieRSS - PHP で使える RSS パーサー。  ←このページを参考に作業しました!
 
まずは、MagpieRSS(RSSパーサー)の最新版をダウンロード⇒ http://magpierss.sourceforge.net/
2006年10月18日時点では、magpierss-0.72.tar.gzが最新のダウンロードファイルでした。
 
すぐにダウンロードして、解凍して、さくらのレンタルサーバ にFTPでアップロード作業!!!
 
 【ディレクトリ構成】
  www/(トップページがあるディレクトリ)
   │
   └ magpierss/ rss.php(※作成するPHPファイル…さくらのレンタルサーバ では属性:755で動作)
      │     rss_cache.inc
      │     rss_fetch.inc
      │     rss_parse.inc
      │     rss_utils.inc
      │
      ├ extlib/ Snoopy.class.inc
      │
      └ cache (※ディレクトリは自分で作成、属性:777で書き込み可に!)
まぁ、基本的には、解凍後の*.incファイルextlib/ディレクトリを利用しますよ♪ φ(`д´)メモメモ...
 
作成するRSSリーダー(rss.php)の仕様を考えてみると… (´ε`;)ウーン…
 1.表示件数を指定できる(引数で表示件数を渡す)
 2.複数のRSSファイルを指定して読み込み、更新日付でソートしてまとめて表示する
 3.新しい情報(何週間以内とか)には、NEW!マークとか付けて区別を付けたい
 4.自分のブログ以外のRSSファイルは、表示部分をちょっと変えて表示できたり …くらいかな
 
仕様もまとまったし、PHPファイルを秀丸エディタで、ガリガリ作成・・・ φ(`д´)カキカキ
【rss.php】
 
※2008年11月18日追記…プログラムソース表示が改変される為、画像で貼り付けました↓


 
↑せっかくブログで公開するので、PHP作成の参考になれば…っと思いコメント多めに入れてます。
まぁ、簡単に注意点と、解説でも?なんちゃってプログラマなのでアテにならんかも~?苦笑)
 
define('MAGPIE_OUTPUT_ENCODING', 'UTF-8'); //文字コード化け対策
↑ですが、デフォルトだと文字コードがISO-8859-1に指定されて文字化けするんでUTF-8に指定
 
  //1週間以内の記事なら「NEW!」画像を表示
  $week_timestamp = mktime(date(G), date(i), date(s), date("m"), date("d")-7, date("Y"));
  if ($date_timestamp > $week_timestamp) {
    $linkstr .= "~(略:NEW!画像のタグ)~";
  }

  ↑現在時刻を取得して1週間前のタイムスタンプ形式にして、比較して1週間以内にはNEW!追加
 
  //記事更新日時(UNIXのタイムスタンプ型⇒年月日)
  $date_timestamp = $item[date_timestamp];
  ↑MagpieRSSの7.0~だと、タイムスタンプ形式で日付を取得できるようでソート用キーで利用
  //ソート用の配列に挿入(配列のキーはタイムスタンプ型の更新日時)
  $rssarray["{$date_timestamp}"] = $linkstr;
  ↑タイムスタンプ形式をキーに、リンク用の文字列を値として連想配列で各ブログ情報をまとめる
krsort($rssarray); //連想配列をキー(記事更新日時:タイムスタンプ型)で降順にソート
↑全てのブログ情報を取得したら、タイムスタンプ形式のキーで最新頭にくるようにソート
 
あとは、SSIを使えるようにしてるので、トップページ には、表組とインクルード文を追加更新
 <!-- ■ブログ最新情報 5件 -->
 <table summary=" " border="0" cellpadding="0" cellspacing="0" width="100%">
  <!--#include virtual="magpierss/rss.php?maxnum=5" -->
 </table>
 
?maxnum=5 ←この部分で最新5件を表示するように引数で指定してますよ
 
 
実際の表示は↓みたいな感じになりました♪ (*´σー`)エヘヘ
 

 
 
全件表示をする別ページ にも、同じように表組とインクルード文で作成してます。
 <table border="0" cellpadding="0" cellspacing="5" width="100%" summary="Links">
  <!--#include virtual="../magpierss/rss.php" -->
 </table>
 
こっちは引数を指定してないので、全件表示しますよ! (*´σー`)エヘヘ
 
このやり方だと、1つのPHPファイル2つのHTMLページに違う表示で対応できるので
RSSファイルを追加したり、PHPファイルを修正したりは、1ファイル修正なので、メンテが楽なんです♪
 
久しぶりに、自サイトの機能強化したような気が…RSSリーダー機能便利かも? いい(≧∇≦)b
ルンルン(ハッピー)
 
 
えっと、ブログの登録数が増えてきて「全てのブログ最新情報」で表示すると、かなり古い情報も
各ブログサービスによって、RSSファイル内の記事量が違うみたいだ アワワ ヽ(´Д`;≡;´Д`)丿 アワワ
 
なので、過去1ヶ月分の記事を表示するように早速修正作業が入りましたよ(汗)
 
  //ソート用の配列に挿入(配列のキーはタイムスタンプ型の更新日時)
  $rssarray["{$date_timestamp}"] = $linkstr;
  
  ↓1ヶ月以内の記事か?を比較して、1ヶ月以内なら配列に追加するように変更

  //1ヶ月以内の記事なら…ソート用の配列に挿入(配列のキーはタイムスタンプ型の更新日時)
  $monthly_timestamp = mktime(date(G), date(i), date(s), date("m")-1, date("d"), date("Y"));
  if ($date_timestamp > $monthly_timestamp) {
    
$rssarray["{$date_timestamp}"] = $linkstr;
  }

 
 
■楽しみながら、攻めつづけたい・・・(ヤフーブログ攻略?) 更新情報■
 ↓記事からのトラックバック(TB返し含む)のやり方教えるばい!!〔2006/10/18(水) 午後 0:46〕
 http://blogs.yahoo.co.jp/yamasita_94nsr/41152972.html
 
 
 
---
楽しみながら、攻めつづける!
http://www.yamasita.info/
楽しみながら、攻めつづけたい・・・(ヤフーブログ攻略?)
http://blogs.yahoo.co.jp/yamasita_94nsr

コメント

[コメント記入欄を表示]

■会社の

会社のプログラマーがブログとか関係ない通常のホームページ等に、トラックバックをつける仕組みを考えておりました。
レビューじゃないけど、そんな多少のコメントがあれば?と言うと、アドバイスどうもと喜んでおりました。

■普通のHPにTBですか?

SSIが利用できる環境なら、トラックバック用の表示部分をインクルードすれば簡単かも?ですね。

あとは、TB用URLとHPの各ページを対応させてTBされた際の処理を作る感じかな?

■PHPでMagpieRSSを使って・・・

こんにちは。はじめまして!chimakiと申します。コメントに書いてしまって申し訳ないのですが・・・アキラさんの作られたPHPがすばらしいので、利用させてもらおうと思い試してみたところ、エラーが出てうまく動作しないのです。よろしければ教えていただけますか?サーバーはロリポップで試してます。エラーメッセージは、Parse error: parse error, unexpected '@' in /ファイルまでのオパス/rss.php on line 35 です。line 35は、$rss = fetch_rss($rssurl[$i]);になっています。

アキラさんと同じディレクトリ構造にしてます。属性も変更したのですが・・・新年早々、お願いのコメントで申し訳ありませんが、ご教授ください。よろしくお願いします。

■環境違うと…

さくらレンタルサーバでは動いてるので…コメントしたくても難しいんですよね(涙)
同じエラーを見た事がないので、対処が??で
_| ̄|○ il||li

単純なタイプミスなどなら、35行目周辺(35行目の前がアヤシイ?)をよく確認してデバックしてみて下さい!!!



以前も動かないってメールをもらった事があったんですが…その人はMagpieRSS(RSSパーサー)のバージョンが古くてエラーだったりとかも有りましたよ。

※僕はmagpierss-0.72.tar.gz利用してます。

さらに、さくらレンタルサーバのPHPはVersion 4.4.4です。


サーバーが違えば、環境が違うので…イキナリ複数表示じゃなくて、まずはMagpieRSSの簡単なサンプルから初めて、1つのRSSを読み込んで表示から試して
動くのを確認してから、色々と機能追加が早道だと思いますよ!!!
φ(`д´)カキカキ

■もしかして???

(;゚д゚)アッ.... ブログからコピペすると

全角スペースが含まれるみたいなんで…
□$rss = fetch_rss($rssurl[$i]);
↑全角スペースが入ってないですかね?

エディタでスペースが半角スペースになってるか確認してみて下さい(汗)

■念のために

PHPソース部の全角スペースを、HTMLの半角スペース(&nbsp;×2)に修正しましたよ。

これで、ブログからのコピペでも動くかな~

■解決しました!

アキラさん、出来ました~!!!ありがとうございます。原因はご指摘通り全角スペースの問題でした。色々と教えていただきまして有難うございます。初歩的なことでお時間をとってしまって、申し訳なかったです。アキラさんには、本当に感謝しています。またブログをのぞいてみますね。お世話になりましたm(_ _)m

■ォオー!!(゚д゚屮)屮

やっぱり、ブログからコピペして、全角スペースが残ってましたか(汗)

エディタでプログラム作成に不慣れだと、よくやるミスですヨ(僕も経験アリ…汗)

エディタ(←僕は、秀丸使ってます♪)の設定などで、全角スペースを表示できたりしますので、今後もPHPでプログラム作成するなら設定してた方が良いかもですね!!!

■超初心者なもので・・・

とても助かりました。
これから、もっともっと経験をつんでアキラさんみたいになれるようにガンバっていこうと思います。(いつになることか・・・)ありがとうございました!

■chimakiさん>

いやいや…僕みたいな「なんちゃって」じゃなくて、ちゃんとしたプログラマ目指して頑張ってくださいよ!!!

PHPはとっかかりやすい言語だと思いますので、勉強になると思いますよ♪

■無題

はじめまして。アスカと申します。
アキラさんが作成したmapieRSSの応用版を現在使わせていただいております。
MTなどのRSSは読み込めるのですが、FC2ブログやライブドアのRSSがなぜか読み込めません・・・
コメント欄に書き込んでしまい申し訳ございませんが、よろしければご教授願えると幸いです。よろしくお願いいたします。

■アスカさん>

読み込み部は、MagpieRSS(RSSパーサー)にお任せ状態なので分かりません!

…RSSの方がおかしいかもですね?(独自の形式にしてるとか??)

地道に、読めないRSSファイルを指定して、MagpieRSS(RSSパーサー)部で読み込みできてるか?デバックしてみてください!!

■rss.php実行の際のエラーについて

Magpierss-0.72を利用して、Web上に、MovableTypeなどのRSSを反映させようと、、様々なサイトのphpでためしてみました。。

アキラさんのサイトの分が理想としている形式に近く、かつ、結果も良かったのですが、rss.phpを実行させると以下のようなCautionが出ます。。

もし、お手数でなければ、解決方法の参考などご存知のようであればおしえていただけないでしょうか。

Notice: Undefined index: maxnum in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 14

Notice: Use of undefined constant title - assumed 'title' in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 43

Notice: Use of undefined constant link - assumed 'link' in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 47

Notice: Use of undefined constant date_timestamp - assumed 'date_timestamp' in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 50

Notice: Use of undefined constant G - assumed 'G' in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 61

Notice: Use of undefined constant i - assumed 'i' in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 61

Notice: Use of undefined constant s - assumed 's' in /var/www/vhosts/*****.com/httpdocs/rss/rss.php on line 61

OGAWA

■サーバ環境が違うんで・・・

あの~、僕の場合はレンタルサーバ(さくらのレンタルサーバ)での構築例なので(苦笑)

Noticeにエラー行も表示されてるので、その行をちゃんと見直せば直せる気がしますけど…

Noticを非表示にするには、php.iniで、

display_errors = Off

とかにする手もありますけど


サーバ環境が違うとPHPは違ってくるので、OGAWAさんのサーバ環境でNoticeが出なくなるようにPHPを修正するか、、、Noticeを表示しないようにするかは

OGAWAさんの自由だぁ~!です。
頑張って下さい♪

■サンキューー!

ありがとうございました。
色々とためしてみることにします。

■OGAWAさん>

あっ、ちなみに…'Notice:'はエラーではなくて警告になるので、内容によっては無視してもOKな場合が多いですヨ(動作には問題無いので…)

.htaccessでもNoticeを非表示にできますので、利用してるサーバで変更できる範囲で色々と試して下さいねー!

■結構、このRSSリーダ人気あるみたいで?

僕の環境では、既存のSSI利用のトップページに埋め込みしてますから

<!--#include virtual="../magpierss/rss.php" -->

↑で動作させてますが…


別にSSIじゃないと動かない訳では有りませんよ。
(他の掲示板などに、SSIでの動作での質問してる方もいるみたいで。。。)

仮に、トップページがPHPファイルなら(index.phpとか)

<?php include("magpierss/rss.php"); ?>

とかで動作させてくださいよー(汗)

■更新日時が同じ時間の場合

はじめまして。
質問があるのですが、
天気予報のRSSなので更新日時が
同じ時間のもの
(http://weather.livedoor.com/forecast/rss/index.xml等)
は一つしか表示されないのですが
どうすればよろしいのでしょうか?

■名無しさん>

PHPのソースにもコメント入れてますが

ソート用の配列に挿入(配列のキーはタイムスタンプ型の更新日時)

なので、同じタイムスタンプ(更新日時が同じ)だとダメですよ。

ソート用の配列に挿入する前に、同じタイムスタンプのキーが存在するか?の判定を入れて
同じタイムスタンプがあれば+1秒するとかの処理を追加すれば良いと思いますよ!

がんばってくださいね!!

■無題

教えていただいてどうもありがとうございます。
やってみます。

■名無しさん>

頑張ってくださいね~!

普通にブログのRSSだと、なかなか同じ日時にならないんですけどね(時分秒まで全く同じで記事を書くのって難しいですし…)

■RSS毎の記事数

こんばんわ
かなり勉強になります。
ありがとうございます。

質問なのですがこのスクリプトだと
複数RSSに対して各rss毎に記事1件表示だけになるのでしょうか?

■道産子さん>

ほっ???
別に各RSSに対して1記事のみ表示って処理は入れてませんので

複数記事を表示するようになってますよ
(ただし、更新日時をチェックして1ヶ月以内の記事では判定してますけど)

↓一覧の動作サンプルです(複数記事表示だと分かると思いますが。。。汗)
http://www.yamasita.info/link/blognew.html

■記事1件の件

すいませんでした。
こちらのミスが判明いたしました。
大変失礼いたしました。

■道産子さん>

何かPHPのミスがあったんですねー。

無事に複数RSSの複数記事の表示できましたか?
この記事、もう1年くらい前にPHPでRSSリーダ機能が欲しくてまとめてたんですが、意外と好評?みたいですね。

酒飲み日記メインにしてますが、たまにはPHPのネタも記事にしてた方が良いのかな~??

■無題

アキラさん初めまして。
色々RSSリーダーを試してきましたが、こちらのが一番最高です!ありがとうございます!

それで、機能の作り方を教えて欲しいのですが。。。

・自分のブログの場合は「~更新しました!」
・他オーナーさんの場合は「~更新されてます」

もう一つblogを指定して、増やしたいのですが。
「~更新しやがった!」みたいな(笑)

色々、試してみましたが無理でした。
方法があれば是非教えて下さい!
わがままなお願いですみません。
宜しくお願いします!(つд⊂)エーン

■TADA-Cさん>

ほほほぅ!あと、1タイプ増やしたいんですねー。

自分のブログの場合は($myblog以下)
 「~更新しました!」
他オーナーさんの場合は(上記以外)
 「~更新されてます」
 
 
の条件で振り分けてるので、条件を増やしてやれば良いと思いますよ!

イメージ的には
自分のブログの場合は($myblog以下)
 「~更新しました!」
特定のブログの場合は(RSSで指定した何番目とか)
 「~更新しやがった!」
他オーナーさんの場合は(上記以外)
 「~更新されてます」

頑張ってくださいね~♪

■ありがとうざいます!

アキラさん返信遅くなってすみません。
ちょっとやって試してみますねー!ありがとうございました!

■TADA-Cさん>

やり方は色々とあると思いますので、

僕のコメ参考に条件追加してみたり、オリジナルで処理を追加してみたりと、試しながらプログラム作って下さいね~!

■RSS動作はしたんですが

記事の取得先がfc2とwordpressとmtの場合は取得してくれませんでした。
凄い綺麗なソースなのに、何が問題なんだろう・・・。

公式サイトで公開されているソースでfc2などのrssを読み込ませたらしっかりと取得して表示してくれてました。

■大和さん>

うーん、試しにFC2のブログのRSSでテストしてみましたけど

http://www.yamasita.info/magpierss/rss_fc2.php
↑普通に表示されますけど(苦笑)

何か間違ってませんか??

PHPの説明でも書いてますが、最新1ヶ月の記事を対象にしてるので、新しい記事が無いだけとか???

■アキラさん

返事大変有難うございます!
私の場合は、アキラさんのソースをそのままコピペをすると表示されますが、1ヶ月以上の記事も取得しています。(php5の環境でした)

RSSのブログURLを変更(fc2などに)すると、php5では真白になりました。

さくらインターネットのphp4では上記ともにしっかり表示してくれました。

php5系が原因のようだったのかも知れません。

php4系の方ではしっかり1ヶ月の記事だけ取得されていました。

お騒がせして本当にすいませんでした。
php5で使えたら・・・。m(_ _"m)

■大和さん>

ふむふむ!PHP5では動かないのかも?なんですねー。

僕が使ってるPHP4の関数でPHP5で仕様変更になったのがあるのかな?

そうなると、さくらインターネットが完全にPHP5にシフトしちゃうと、デバックしながら修正する作業が出てくるのかな(汗)

報告ありがとうございました!

■報告だけになるんですが

php5.2系の場合です。
rdfとfc2のxmlを読みとりませんでした。(真白でした)
YAHOOのxmlは読みとりました。
rss2.0は読みとりました。

開発頑張って下さい。
素晴らしいソースの公開感謝しております!

■大和さん?>

あれ?名前がアキラになってますが、流れ的に大和さんですよね(汗)

PHP5系だと、読めるRSSと読めないRSSが存在するんですね…

かなり仕様が変わっちゃったのかな?PHP4→PHP5で


さくらインターネットがPHP5にシフトしたら、見直しが面倒かもで、嫌な予感(涙)

■何度もすみません。

アキラさん。何度もすみません。

やはり、色々、試してみましたが正直どうやっていいのか分からずどうしてもできません。

今作ろうと考えているのが、友人のblogを集めたサイトを考えてて。
「更新しました!」「更新されてます」の部分を各友人の名前に書き換えて表示したいと考えています。

へたな表現で分かりづらくてすみません・・・。(つд⊂)エーン
※たとえば
----------------------------------------
● 楽しみながら、飲みつづける!を更新しました!
● MotoGP速報ニュースサイトが更新されてます!
● ひとりごと~♪が更新されてます!
●チュンピー日記が更新されてます!
----------------------------------------
を更新しました!、更新されてます!を各blog指定で名前を書いて

----------------------------------------
● アキラさん - 楽しみながら、飲みつづける!
● 友人Aさん - MotoGP速報ニュースサイト
● 友人Bさん - ひとりごと~♪
● 友人Cさん - チュンピー日記
----------------------------------------
という風な感じで作りたいです。

アキラさん!すみません!
よろしくお願いします!(つд⊂)エーン

■アキラさんへ

名前間違ってすいません;;
普段ペンネームでアキラと使っているのでついつい癖がでちゃいました。

さくらインターネットもphp5にシフトしていっちゃいそうですね(最近perlのバージョンアップを全サーバーしてましたが)

■TADA-Cさん>

そうなると、2次元配列で処理した方がスマートっぽいですね
(PHPの本なども多いみたいなので、配列については別途、勉強してください…汗)

友人名とRSSファイルのURLを1セットで2次元配列に入れて利用する感じです。

$rssurl[0][0]="アキラ";
$rssurl[0][1]="http://ameblo.jp/yamasita-94nsr/rss.html";
$rssurl[1][0]="友人A";
$rssurl[1][1]="http://~";

↑例えばこんな感じなら、同じ添え字で友人名とRSSファイルのURLを取り出せるので良いかと

仕様が変わるので、作り直した方が早いかもですね。
PHPの勉強をちょっとしてもらって、僕のソースを参考に作り変えて下さいね♪

がんばって!!

■大和さん>

普段のペンネームがアキラでしたか?なるほど(笑)

さくらインターネットがperlバージョンをあげた時にに、Namazuが動かなくなり再インストールして設定した事を思い出しました(汗)

php5になった際にも、色々と手直しが出てきそうですね。。。嫌だな~

■ありがとうございます★。、:*:。.:*:・'゜

アキラさん本当にありがとうございます!
かなりヒントになりました。(>▽<)
できるかどうか分かりませんが、がんばってやってみますね~!

■TADA-Cさん>

2次元配列の使い方をちょっと理解すれば、多分大丈夫だと思いますよ。

処理を少しづつ増やしていきながら、デバックしてちゃんと思い通りに処理が動いてるか?確認しながら地道にやってくださいよー

■できました!

アキラさん無事できました!
ありがとうございます!

それで、もひとつ質問が・・・(笑)
道産子さんが書いてあったように
「各RSSに対して1記事のみ表示」ってできますか?
1日に三回も更新する人がいるので。もう常に各ブログは1記事ってしたいのですが。。。

何回も質問ばっかでごめんなさい。ヽ(´Д`;≡;´Д`)丿 アワワ

■TADA-Cさん>

foreachでRSSに含まれる記事分で回して処理してるので、ループしない処理に変更するか?

…ループ内での処理をカウントして、
$rssarray["{$date_timestamp}"] = $linkstr;
後に、1回でも処理してたらループから抜けるって処理に変更って感じですかねー

■アキラさんへ

アキラさんのソースは問題ありませんでしたm(_ _"m)ペコリ(php5問題のことです)

マグピエの時間呼び出し方法に問題がありました。

TADA-Cさん
私は、
$rss->items = array_slice($rss->items, 0, 1);
で制御してます。
1の所が記事の表示件数になります。

改めて素晴らしいソースの公開ありがとうございます。(アキラさん)

■大和さん>

お?PHP5でも、ちゃんと動作しましたかー
安心しました♪
(さくらインターネットもPHP5へシフトしそうなので…)

array_slice( )関数で、1つだけ配列内から値を取り出す方法もありますね。なるほど~

■無題

MagpieRSSを使って表示させることは出来たのですが、配信元サイトのタイトルとlist-style-type: noneでマーカーを表示させなくしたのですが、その部分に1センチほど余白が出来るのを直したいのですが、おしえてもらえないでしょうか。

■ど素人さん>

は????
PHPじゃなくてスタイルシート(CSS)の話ですか?

1cmの余白を取るような処理は僕のソースには無いので、ご自分で改造した部分は自分で解決するように頑張って下さいよー(苦笑)

■ど素人さん>

ul,ol,li{
margin:0;
padding:0;
}

マージンとパディング0にすれば大丈夫だとおもいますよ。

■風は風にさん>

ほほ、なるほど!スタイルシートに対するコメントありがとうございます。

スタイルシートをあまり使った事がないので、助かりました♪

■アキラさん質問(アドバイス)お願いします。

取得先のRSSがサーバーメンテナンスなどで取得できない場合、phpのエラーが表示されてしまいます。(取得できる所は表示してくれます)
Warning: MagpieRSS: Failed to parse RSS file. (syntax error at line 1, column 62)
このような感じで取得できなければエラーがでるのですが、これではかっこわるいので、取得できない場合は、errを表示させるとか方法ないでしょうか?

何かアドバイス出来ましたらよろしくお願いします;;。

■大和さん>

えっと、自分でテストしてないので、こんな感じかな?になりますが

$rss = fetch_rss($rssurl[$i]);

↓にifを追加でならないでしょうか?

$rss = fetch_rss($rssurl[$i]);
if ($rss) {
通常の処理
} else {
RSSファイルが読めなかった処理
}

■アキラさん返事ありがとうございます

アドバイス有難うございます。
参考にさせて頂き、どうにか処理をさせてみたいと思います。
毎回親切に有難うございますm(_ _"m)ペコリ

■大和さん>

上手く…行きましたでしょうか?(汗)

もしダメだったら、RSSのURLが存在するか?のチェックを追加した方が無難なのかなー

■fc2で表示不可

大和さん、アキラさん
以前のコメントでfc2の記事が反映されないとの事ですが、私も同じ現象です。
調べてみたら、fc2ではマグピエがタイムスタンプ形式で取得していないようでした。
ここの部分
>>$item[date_timestamp];

その後のコメントで
>>マグピエの時間呼び出し方法に問題がありました。
と記載がありましたが、具体的にどの部分を変更しましたでしょうか。
よろしくお願いします。

■お餅君さん>

fc2の記事…僕は試してないんですよね(汗)

大和さ~ん、ヘルプ♪

■pubDate

Y!PipesとMagpieRSS使ってRSSを全文配信化してHPに表示しました。
でも、RSSの配信日付がうまく表示できなくて、
参考にさせていただきました。
ありがとうございます。

http://es.prit.jp/php-rss/index.php

■えいめさん>

自分用のまとめみたいな記事だったんですが、参考になったようで嬉しいですよ!

複数RSSの表示って僕以外にも重要あるみたいですねー。
この記事結構人気みたいだし、たまにはプログラムネタもありなのかな…

■無題

初めまして。
RSSリーダを探していたところ、分かりやすいプログラムで、しかも私の使っているのと同じさくらのレンタルサーバー!!ってことで、こちらのプログラムを使わせていただきました。ありがとうございます。

Flashにデータを移すために少し改変しましたが、上手く動作しましたのでこちらにご報告させていただきます。(php初心者なので悪戦苦闘しましたが^^;
また機会があればよろしくお願いしますm(_ _)m

■Rさん>

僕のプログラムが参考になったようで、嬉しいですよー。

もう2年前に書いた記事なんですけど、予想以上に好評みたいで(汗)

Flashにデータを渡すって事は、ブログパーツみたいな感じでしょうか??
(最近、Flashとの連携コンテンツって増えてきてますよね~)

■ブログ記事内のソースについて

アメブロ側で仕様変更があったみたいで

記事に書いたソースが、1部変更されて表示されているようです。(恐らくはセキュリティ面の強化なんでしょうけど…汗)

以前のようにコピペで動作しませんので、ほとんと参考にならなくなってます。
(が、アメブロ側の仕様なので、プログラムソースを記事内に表示できない為、僕にはどうにもできません。。。汗)

■画像か何かで見せていただけませんでしょうか

はじめまして!
悩んでいたところ、検索してこちらにたどりつきました。素晴らしいです!
コビペして数時間いろいろと試してみましたが動かず、コメント欄を読んで、改変されていると知りました。
改変されている部分だけでもかまいません。
ぜひ画像か何かで見せていただけませんでしょうか。
何とぞご一考くださいませ。
よろしくお願い申し上げます。

■まみさん>

なるほど!ソースを画像で公開ですか。

記事を更新しましたが、コピペで使えないので有効性、かなり無い気もしますけど…(汗)

この記事がもう2年前のやつですから、Web検索したら他の利用者がもっと、上手にまとめてたりしてないのかな~??

■どうも。

上のスクリプトをphpの勉強を兼ねて、さくらサーバーで動かしたいのですが、
アクセスしてみると500 errorと表示されてしまいます。、

なぜでしょうか?

■ありがとうございます!!

コメントを書き込んだものの、諦めておりました。まさか翌日には画像であげてくださっているとは!
まだ悩んでいました。早速使わせていただきます。ありがとうございます!

■kaijiさん>

kaijiさんのエラーは僕には分かりませんよ~(苦笑)
同じさくらレンタルサーバーで僕の場合は動作してますから、何か間違ってるんだと。。。

処理をコメントアウトしてPHPの簡単な動作からデバックして徐々に処理を増やしてみるのも手かと思います。

■まみさん>

画像なので、コピペできないから、有効利用はしにくいですが

参考程度にしてくださいねー(汗)

アメブロがちゃんとPHPソース表示できれば、問題ないんですけどね。。。ちょっと残念。

■無題

大変参考にさせていただいてます。
しかしちょっとわからないことがでてきて、
よろしかったら少しご教授おねがいできないかと思いコメントしました。

$days = 2;
function diff_date ($date,$days) {
$rssdate = strtotime("$date");
$today = strtotime(date("Y/m/d H:i"));
$diff = date("U", ($today - $rssdate))/86400;
if ($days > $diff) {
echo ' <img src="画像のURL" alt="New" />';
}
return $date;
}

と書いて新着2件にNEWを表示させようと試みたんですが、
何も表示されない状態です。
どこが違うんでしょうか?
初心者でよくわからず、
いろいろ調べてここまで書いたんですが、
これじゃ無理のようですし・・・
困っています。

わかる範囲でかまいませんので、
よろしくお願いします。

■猫好きさん>

あれ?この処理は、、、僕、作った覚えが全く無いんですが(苦笑)

えっと、ご自分で処理を追加されたなら、ご自分でデバッグして下さいよ~(汗)
…デバッグ作業が一番きついんですから、そこを丸投げされても。とほほ。。。

僕の処理ベースでの追加なら、新着順に並べて表示するので、表示する際にカウント(僕のソースなら$count)が2以下なら、処理するって手が簡単なのでは??と思います。

■無題

はじめまして。「RSS 複数 表示」で検索してここにたどり着きました。

画像で表示されているソースを手打ちしてみたのですが、動作してくれません。
MagpieRSSのみでの1サイト表示は正常に出来たので、ソースの入力間違えなのかな?なんて思ってます。

と言うことで、rss.phpファイルをダウンロード出来るように公開していただくことは出来ないでしょうか?

検討お願いします。

■まべっちさん>

あー、ごめんなさい!PHPソースのダウンロード可能までは考えて無いです。
(この記事は3年前のものなので、自サイトで使ってるソースが、ちょこちょこソース変更して違うし)

あくまでも【参考程度】にブログで公開してるレベルですので、各々で処理を考えた方が、後々カスタマイズする事を考えると良いのでは??っと思ってますよー(汗)

コメント投稿

コメント記入欄を表示するには、下記のボタンを押してください。
※新しくブラウザが別ウィンドウで開きます。

一緒にプレゼントも贈ろう!

トラックバック

この記事のトラックバック Ping-URL :

http://trb.ameba.jp/servlet/TBInterface/10018566158/5bb039f0

  • ブログタイトル:楽しみながら、攻めつづけたい・・・(ヤフーブログ攻略?)
  • 記事タイトル:「常連さん!お気に入り」を見直しました♪ ~10月20日~
  • 記事概要:今まで、ほぼ母乳のみで長男(あきと)スクスクと大きくなってきましたが (゚д゚)(。_。)(゚д゚)(。_。) ウンウン ||<#BFE2FB' style='width:560px;' ``|| 離乳食もソコソコ食べ出してきて、母乳の栄養分?が減ってくる時期みたいで、粉ミルクも併用しだしました?!