Delphinus にフィードフィルタを付けてみた
PHP 関連のエントリのみ抜き出してフィードせよ, という宿題が PHP-study で出ていたので取り敢えずやりました。
つーか時間無かったので Delpinus パクりました ><
etc/delphinus-ini.php で
// filteing & output extrafeeds 'extra_feeds' => array( array( 'rss_path' => DP_ROOT_DIR .'pages/feeds/php.xml', 'url' => 'http://d.hatena.ne.jp/sousk', 'filter' => array( 'element' => 'title', 'pattern' => '\[php\]', ), ), ),
んでもって action/RssRebuild.php で
// Delphinus_Action_RssRebuild::perform // extra feeds $extra_feeds = $this->Config->get('extra_feeds'); if (! empty($extra_feeds)) { foreach ($extra_feeds as $_conf) { if (isset($_conf['rss_path']) && isset($_conf['url'])) { $this->buildRSS($rss, $_conf['rss_path'], "RSS1.0", $_conf); } } }
// Delphinus_Action_RssRebuild::buildRSS if (is_null($conf)) { $rss->addItem($item); } else { // apply filter if (! (strpos($item->link, $conf['url']) === false)) { $pattern = "/". $conf['filter']['pattern'] ."/"; $element = $item->$conf['filter']['element']; if (preg_match($pattern, $element)) { $rss->addItem($item); } } }
はてなのフィードを Delphinus に喰わせて
こんな感じ。
やったはいいけど, コード晒しあいにして勉強って趣旨は満たしてない…
やることやって余裕残ってたらもうちょっと何とかします pq