getrss.inc.php

サマリ外部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を定義するか、プラグインを改造してください。

ソース

  • getrss.inc.php
    <?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;
    }
    ?>
    

開発・詳細は以下で行っています。

  • はろはて。(http://d.hatena.ne.jp/shun262/searchdiary?word=%2a%5bgetrss%5d )
  • H::D::Shunirr とあるしゅにるの禁書目録(http://d.hatena.ne.jp/shunirr/searchdiary?word=%2a%5bgetrss%5d )

コメント

  • 2007/03/23 15:23 の新規postが、spamフィルタに*1引っかかっていたため、代理投稿しました。 -- henoheno 2007-03-24 (土) 11:59:50
  • ダウンロードができません。404 Not Found -- sato? 2007-04-02 (月) 20:59:49
  • 諸事情によりソースコードを失ってしまいました。このページは削除していただけたらと思います。御迷惑をお掛けしました。 -- K.Shinshun? 2007-04-02 (月) 21:41:40
    • 経緯がわからないけど、今はソースが(このページに)張られていますね -- 2007-04-03 (火) 22:39:48
  • ソースコードを追加してくれた人ありがとうございます。開発リンクを変更しました。 -- K.Shinshun? 2007-04-07 (土) 11:26:52
  • 開発リンクを変えておきました。 -- 2009-02-28 (土) 17:53:49

*1 ルールで言うとarea_anchorに

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-17 (月) 19:39:34
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.228 sec.

OSDN