|
||||||||
![]() |
掲示板目次 > サポート > 個々の機能(Any) |
|
|
RSS_Aggregatorで文字列排除 |
|||
| keithr |
|
||||||
![]() Full Member 状態: オフライン ![]() 登録日: 2008年4月 7日 投稿数: 328 |
mystral-kkさん作のRSS_Aggregator重宝させていただいてます。
「タイトルにxxxxの文字列が入っていたらRSS表示しない」ということは可能でしょうか? 最近、ambleなどの無料ブログのRSSに広告が入り始めており、自サイトで他人の広告が表示されることにちょっと抵抗感を覚えています。たいてい「PR:」からタイトルが始まっているのでこれを対象外に表示出来たらと思い質問させていただきます。 =追記= これが出来れば逆に「この単語を含むfeedのみを表示」が出来ますね。複数のRSS feedに対して自サイトに関係のあるもののみを表示させることが出来ます。 無茶な要望ならすいません・・・。 |
||||||
|
|||||||
| mystral-kk |
|
||||||
![]() 管理者 状態: オフライン ![]() 登録日: 2006年3月23日 投稿数: 971 |
RSSAggregator-1.2.7を使っているという前提で書きます。phpblock_rssaggregator.phpの532行目付近に という行があるので、その直後に次のコードを追加します。 PHP Formatted Code // Filters out some contents $temp = $articles; $articles = array(); foreach ($temp as $item) { if (strpos($item['title'], 'PR:') === FALSE) { $articles[] = $item; } } PR: の部分は適宜変更してください。全角で指定するなら、utf-8(BOMなし)で保存することを忘れずに。これでタイトルに PR: という文字列を含まないものだけが表示されるようになります。もし PR: という文字列を含むものだけを表示するなら、 を に変えるだけです。 -- mystral-kk, "Every cloud has a silver lining." |
||||||
|
|||||||
| keithr |
|
||||||
![]() Full Member 状態: オフライン ![]() 登録日: 2008年4月 7日 投稿数: 328 |
mystral-kkさん、いつもお世話様です。
ありがとうございました。やってみます。 |
||||||
|
|||||||
| keithr |
|
||||||
![]() Full Member 状態: オフライン ![]() 登録日: 2008年4月 7日 投稿数: 328 |
|||||||
|
|||||||
| mystral-kk |
|
||||||
![]() 管理者 状態: オフライン ![]() 登録日: 2006年3月23日 投稿数: 971 |
例1: PR: と 広告 のどちらかを含むものを排除する。 PHP Formatted Code if ((strpos($item['title'], 'PR:') === FALSE) AND (strpos($item['title'], '広告') === FALSE)) { 例2: PR: と 広告 と AD: のいずれかを含むものを排除する。 PHP Formatted Code if ((strpos($item['title'], 'PR:') === FALSE) AND (strpos($item['title'], '広告') === FALSE) AND (strpos($item['title'], 'AD:') === FALSE)) { 例3: keithr と kobab のどちらかを含むものを追加(表示)する。 PHP Formatted Code if ((strpos($item['title'], 'keithr') !== FALSE) OR (strpos($item['title'], 'kobab') !== FALSE)) { 例4: keithr と kobab をともに含むものを追加(表示)する。 PHP Formatted Code if ((strpos($item['title'], 'keithr') !== FALSE) AND (strpos($item['title'], 'kobab') !== FALSE)) { 正規表現を使えばもっとスマートに書けますが、苦手な場合は、以上のような要領で条件判断をAND/ORでつなぐしかありません。条件の数が多くなると、別に関数を書いた方がメンテナンスしやすいでしょう。 -- mystral-kk, "Every cloud has a silver lining." |
||||||
|
|||||||
| 内容生成: 0.35 秒 |
|
|
|