MagpieRSS 子要素の値を分割する
PHPでRSSを取得するパーサーに、MagpieRSSを使用していますが。
階層が違っても、同じ名前の要素の値は考えなしに結合しているようで、子要素の値だけを参照したいとか言うことが出来ないようです。
なので、提供されている「rss_parse.inc」の一部をいじって、結合部の間に文字を入れるようにしました。
316行目
===================================
function concat (&$str1, $str2="") {
if (!isset($str1) ) {
$str1="";
}else{ // +
$str1 .= "\t,\t"; // +
}
$str1 .= $str2;
}
===================================
「+」の2行を追加。
参照する要素に値が入っている場合は、「タブ カンマ タブ」を追加して、そのあとに次の値を足すようにしました。
これで、あとで分割可能です。
【これを使って、livedoorの天気予報RSSを表示した例】
http://
【関連リンク】
http://blog.koshigoe.jp/archives/2006/10/magpierss.html
http://d.hatena.ne.jp/kasahi/20070825/1188068818
http://www.hyuki.com/yukiwiki/wiki.cgi?MagpieRSS
追記
本文では
$str1 .= "\t,\t"; // +
としたけど、
$str1 .= "\0"; // +
とした方が、cgi-libと整合が取れる形になって、カッコイイかも