サマリ | 外部RSSを取得して表示するプラグイン |
---|---|
リビジョン | 1.0 |
対応バージョン | 1.4.7 |
投稿者 | K.Shinshun |
投稿日 | 2007-03-24 (土) 11:57:27 |
Pukiwikiで外部からRSSを取得して表示するプラグインです。
recentrss.inc.phpが、RSS1.0にしか対応していなかったため、XML_RSSモジュールを使って制作しました。
getrss.inc.phpをPukiwikiのpluginフォルダに入れてください。
サーバにPHP のXML_RSS モジュールが無いと動作しません。
#getrss(表示数, RSSのURL, RSSのエンコード方式)
となっています。たとえば、
#getrss(10, http://blog.ilyalt.com/index.xml, UTF-8)
のように書くことができます。第一引数よりも取得数が少ない場合には、そちらが優先されます。
出力されるHTMLは
<ul class="getrss_list"> <li><a href="URL">タイトル</a></li> <li><a href="URL">タイトル</a></li> <li><a href="URL">タイトル</a></li> </ul>
となります。デザインを変えたい場合は、CSSでgetrss_listを定義するか、プラグインを改造してください。
<?php /* * PukiWiki 外部RSS取得プラグイン * * CopyRight 2007 KUNIYOSHI Shinshun GPL * http://blog.ilyalt.com * * 使用方法 * * #getrss(表示数, URL, エンコード); */ require_once "XML/RSS.php"; function plugin_getrss_convert() { if (func_num_args() == 3) { $args = func_get_args(); if (! is_numeric($args[0])) { return '#getrss(number-to-show, rss-uri, encode)<br />'; } else { $n = $args[0]; $url = $args[1]; $enc = $args[2]; } } $rss =& new XML_RSS(trim($url)); $rss->parse(); $val = $rss->getItems(); $items .= '<ul class="getrss_list">' . "\n"; for ($i = 0; $i < (($n < count($val)) ? $n : count($val)); $i++) { $title = mb_convert_encoding(strip_tags($val[$i]['title']), $code, "UTF-8,EUC-JP,SJIS"); $items .= "<li><a href=\"" . $val[$i]['link'] . "\">" . $title . "</a></li>\n"; } $items .= '</ul>' . "\n"; return $items; } ?>