- ベストアンサー
RSS日付取得方法
- ホームページ作成でRSSを取得して表示させたい。PHP初心者のkitakaruですが、どなたか詳しい方がいらっしゃいますか?
- XMLの形式はrss2.0で、タイトルなどは表示されていますが、pubdateタグの値を取得できません。ソースコードを参考に書いたのですが、行き詰まっています。
- 変数date1に出力日時を代入し、date2に表示形式を変換したものを代入しています。JcodeConvert関数を使って文字コードを変換しています。結果は変数date2を出力しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
DOM Documentでいいのであれば次のようにに書けばRSSは取得できます。 <?php $rss = "http://i-njoy.net/blog/rss.xml"; $dom = new DOMDocument('1.0', 'UTF-8'); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; $dom->load($rss); foreach($dom->getElementsByTagName("item") as $itemnode){ $url = $itemnode->getElementsByTagName("link")->item(0)->nodeValue; $title = $itemnode->getElementsByTagName("title")->item(0)->nodeValue; $pubdate = $itemnode->getElementsByTagName("pubDate")->item(0)->nodeValue; $url = htmlspecialchars($url); $title = htmlspecialchars($title); $pubdate = htmlspecialchars($pubdate); $pubdate = date("Y.m.d", strtotime($pubdate)); echo '<li><dl><dt>'.$pubdate.'</dt><dd><a href="'.$url.'">'.$title.'</a></dd></dl></li>' . "\n"; } 見たところ文字コードはUTF-8のようなので途中のJcodeConvertは必要無さそうですね。 場合によっては「$title = mb_convert_encoding($title, "sjis", "utf8");」のように変換すればいいと思います。