PHPでRSS取得してみた
「RSSやATOMフィードがあれば欲しいな~、なければ空文字でいいよ」ってことで作ることになった。
最初にやったこと
simplexml_load_file使えば楽勝じゃんと思ってこんなコードを書いた。
/**
* RSSを取得する
* @param string $rss RSS URL
* @return SimpleXMLElement|string
*/
public function getRss($rss)
{
$xml = '';
// RSSのURLがありならRSS取得
if ($rss) {
$xml = simplexml_load_file($rss);
}
return $xml;
}
getRss
とかいってるけどATOMでも大丈夫だぜー!
RSS1.0
「RSS1.0のdc:date
が取れてないよ」ってことでちょっと追加した。
/**
* RSSを取得する
* @param string $rss RSS URL
* @return SimpleXMLElement|string
*/
public function getRss($rss)
{
$xml = '';
// RSSのURLがありならRSS取得
if ($rss) {
$xml = simplexml_load_file($rss);
if ($xml->item) {
// RSS1.0
foreach ($xml->item as $entry) {
$dc = $entry->children('http://purl.org/dc/elements/1.1/');
$date = $dc->date;
$entry['date'] = $date;
}
}
}
return $xml;
}
こんな感じになった。
item: [
{
@attributes: {
date: "2013-10-04T00:45:00+09:00"
},
link: "リンク",
title: "タイトル",
description: "デスクリプション"
},
]
ひとまずOK。よっしゃよっしゃ。