2008-09-30 22:17:19
昨日のRSSの埋め込みは、一旦.jsファイルとして取得データを保存しなくても、いきなりPHPスクリプトの出力を埋め込むこともできる。
$xml = simplexml_load_file("http://www.afp.com/english/rss/stories.xml"); $output = "document.writeln('<h3>AFP News</h3><ul>');\n"; foreach($xml->item as $item){ $dc = $item->children('http://purl.org/dc/elements/1.1/'); $xitem = "document.writeln('<li><a href=\""; $xitem .= $item->link; $xitem .= "\" target=\"_blank\">"; $xitem .= $item->title; $xitem .= "\"<a><br />');\n"; $xitem .= "document.writeln('".$dc->date."</li>');\n"; $output .= $xitem; } $output .= "document.writeln('</ul>');\n"; print $output;
file_put_contentsのところをprintにしただけである。
htmlの方では、
<script language="javascript" type="text/javascript" src="rss.php"> </script>
というようにする。ここでは同じディレクトリにphpファイルがあるが、JavaScriptは遠くのファイルも取得できるので、別のサーバ上に置いたものを、src="http://xxx.xxx.xxx/rss.php"というようにして取り込むことも可能。だから、PHPを動かせないサーバでも、PHPを動かせるサーバを経由して情報を取得できる。その都度、情報を取得するので最新情報が表示できる。でも、過剰なトラフィックを発生させかねないのかも。