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を動かせるサーバを経由して情報を取得できる。その都度、情報を取得するので最新情報が表示できる。でも、過剰なトラフィックを発生させかねないのかも。