• 締切済み

自作RSSリーダでライブドアブログを読み込む

自作のRSSリーダーを作ったのですが、ライブドアブログの更新時間が全て1970-01-01になってしまいます。PHPで if ($item['dc']['date'] != '') { $dt = parse_w3cdtf($item['dc']['date']); } else if($item['pubdate'] != '') { $dt = strtotime($item['pubdate']); } else { $dt = time(); } といった感じにしています。何が悪いのかわからないので教えて下さい。

みんなの回答

回答No.2

あのぅ、質問に対しての回答になってないんですけども・・・ パースするまえに、 $item['dc']['date'] $item['pubdate'] にきちんと値は入ってるのでしょうか? 値がないのをパースしても仕方ないですし、 実際にきちんと値は入っているけでも、 parse_w3cdtfのパースの部分でこけてるのかが分りません。

nevagiva
質問者

補足

すみません。 $item['dc']['date']には 2007-01-27T03:32:31+09:00 が入っていました。 $item['pubdate']には何も入っていません。 よろしくお願いいたします。

回答No.1

$item['dc']['date'] $item['pubdate'] にそれぞれ、値がどのように入っているかを確認すれば、 いいように思います。

nevagiva
質問者

補足

回答ありがとうございます。ライブドアブログのXMLを見てみると、 <dc:date>2007-01-27T03:32:31+09:00</dc:date> となっています。 magpierssのparse_w3cdtf関数を使って上記のようにして、 date("y-m-d",$dt); として変数へ代入echoで出力すると1970-01-01になってしまいます。 magpierssのdate_timestampを使用しても同様の結果です。他のRSSフィードはきちんと読み込まれますが、ライブドアブログだけこうなるんです。すみませんがよろしくお願いします。

関連するQ&A