RSSの広告を表示しないようにしてみました。
2010.12.27
お知り合いのリンクを表示するさいに、RSSを取得しているのですが、広告表示がうるさいため、表示しないように修正しました。
RSSは本来、サイトの更新情報を容易に入手したり、配信したりする仕組みのはずですが、広告が挿入されるのは、なんか違う気がしています。
広告そのものを否定する分けじゃないのですが、違うサイトに飛ばされる不愉快といったら、なんとも・・・
というわけで、外しやすくする為なのか、広告だとわかりやすくなっていたので、実装してみました。
RSSのTitle要素に含まれる文字列の内、以下の様に始まるものは、表示しないようにしています。
「PR: 」「AD: 」「[PR] 」「[AD] 」「[PR]」「[AD]」
若干にていますが、全角括弧を使ったり、半角スペースが入ったりしています。これ以外にもINFOというのを見つけたのですが、利用しているサイト特有のもののようだったので、こちらはそのままにしています。
正規表現を利用しています。
$strには、RSSのタイトルの文字列が入ります。
$str =~m/^(PR|AD|\[PR\]|\[AD\])\:\s(.*)/s
$str =~m/^(\xEF\xBC\xBB)(PR|AD)(\xEF\xBC\xBD)(.*)/s
2行目は、UTF-8の文字コードで、全角の括弧が指定されていた場合の対応です。