- ベストアンサー
Yahooのpipesより出力されたデーターをMagpieRSSを使用
Yahooのpipesより出力されたデーターをMagpieRSSを使用 Yahooのpipesより出力されたデーターをMagpieRSSを使用して日付を表示の仕方 pipesのRSSソースをみると <pubDate>Fri, 23 Apr 2010 20:12:17 -0700</pubDate> と表示されています。 【2010年4月23日】と表示したいのですが、どのようにphpに記述すればいいのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
date関数の中でマルチバイト文字(日本語など)は利用すべきではありません。 面倒でも下記のようにしましょう。 また、dateのように同じ関数名と変数名を使うことは間違いではありませんが、紛らわしいので変えた方が良いでしょう。 $date_day = strtotime($item[pubdate]); $daystr = '【'. date('Y', $date_day) . '年' . date('m', $date_day) . '月' . date('d', $date_day) . '日】';
その他の回答 (1)
- morinokoe
- ベストアンサー率50% (1/2)
$date_day = strtotime($item[pubdate]); $date = date('【Y年m月d日】', $date_day); で表示できないでしょうか。
補足
morinokoe様 早速の回答有賀とございます。 以下のように記述しましたが文字化けします。 <?php require_once 'rss_fetch.inc'; require_once 'code_table.ucs2jis'; require_once 'jcode.php'; $url = 'rssのアドレス'; $rss = fetch_rss($url); $title = $rss->channel['title']; //JcodeConvert($str, $from, $to) //0:PASS(無変換)1:EUC-JP 2:Shift_JIS 3:ISO-2022-JP(JIS) 4:UTF-8 $title = JcodeConvert($title, 4, 2); //表示件数 $rss->items = array_slice($rss->items, 0, 5); foreach ($rss->items as $item ) { //日付表示 $date_day = strtotime($item[pubdate]); $date = date('【Y年m月d日】', $date_day); $title = $item[title]; $title = JcodeConvert($title, 4, 2); $url = $item[link]; echo "<li><b>$date</b><br><a href=\"$url\">$title</a></li>\n"; } ?> で記述しますと、 <li><b>・02010・04月23日・12</b><br><a href="URL">タイトル</a></li> と【】と年が黒点に文字化けし、日の後の黒点ごに数字が表示されます。
お礼
有難うございます。 このように記述しましたら、希望通りの表記になりました。