プロが教える店舗&オフィスのセキュリティ対策術

初めまして、お世話になります。
PHPに関しては初心者です。

Magpie RSSを使用してフィードをトップページに表示させたいのですが
タイトルは問題ないなく表示されるのですが、日付を表示させようとすると1970年01月01日 と表示され取得出来ない状態です。

MagpieRSSのバージョンは0.72でRSS2.0です。
取得先はwordpress バーション2.61になります。

色々と調べてみて
Magpie0.7より使用できる$item['date_timestamp']という参照方法も試してみたのですがだめでした。
サーバーの問題かと思い複数のサーバーでも試したのですが1970年01月01日と表示されてしまします。

具体的なソースは下記の通りです。

<?php
require_once 'rss_fetch.inc';
define('MAGPIE_FETCH_TIME_OUT', 30); // タイムアウトまでの
define('MAGPIE_CACHE_AGE', 30*60); // キャッシュ更新の時間
$url = 'フィードのURL';
$rss = fetch_rss($url);
$title = $rss->channel['title'];


echo "<li class=\"ItemTitle\"><a href=\"$url\">RSS記事一覧を表示</a></li>\n";
$title = mb_convert_encoding($title, "UTF-8", "auto");

$rss->items = array_slice($rss->items, 0, 10);
foreach ($rss->items as $item ) {
$title = $item[title];
$title = mb_convert_encoding($title, "UTF-8", "auto");
$url = $item[link];
$date_str = date("m月d日 ", $item['date_timestamp']);
if ($date >= time() - 3600 * 24 * 7) {
$date_str = "<EM>" . $date_str . "</EM>";
}

echo "<li class=\"ItemTitle\">$date_str<a href=\"$url\">$title</a></li>\n";
};
$url = $rss->channel['link'];

?>

どなたか対処法をご存じの方がおられましたらご教授頂けると
幸いに思います。

以上、よろしくお願いいたします。

A 回答 (2件)

配列のキーは取得するRSSによって違うので、


print_r($rss);で一度構造確認をした方がいいです。

wordpressということなので
$date_str = date("m月d日 ", strtotime($item[pubdate]));
これで表示されないでしょうか
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
配列キーの入力が違っておりました。
お教え頂いたように

$date_str = date("m月d日 ", strtotime($item[pubdate]));

を仕様すると表示されました。
RSSによって違うとのことですので、確認が必要みたいです。

やっと解決いたしました。
誠にありがとうございます。

お礼日時:2008/10/05 12:14

私も同様の問題で悩んでいます。


$item['date_timestamp']だけが空っぽになります。

Apache 2.0.63
PHP 5.1.6
MagpieRSS 0.72
取得しようとしているもの Atom 1.0

これらを試しても解消しませんでした。
http://linux.ohwada.jp/modules/smartsection/item …
http://d.hatena.ne.jp/ms-k/20051224


Apacheのログを見ると、次のNoticeが出ています。

PHP Notice: Undefined index: version in /***/rss_parse.inc on line 173


何が原因でしょうか。
便乗質問で申し訳ありません。

この回答への補足

投稿ありがとうございます。
上記の方法で解決いたしました。
恐らくAtom1.0の配列キーが違うものになっているのが
問題かもしれません。
上記方法はwordpress用ですが、同様の問題で表示されないのであればAtom1.0の配列キーを指定すると直るかもしれません。

補足日時:2008/10/05 12:15
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!