以下の広告を削除するフィルタを考えます。
Webページサンプル似たような広告が2つあると迷ってしまうのは人の心理なんでしょうか…。
とりあえず、順当に「自分でフィルタを作る」という選択肢で行きましょう。
例によって、[リンクのコピー -> ソースの表示 -> 検索] で該当ソースを検索します。
htmlソース1<p>
<a
href=
'http://sample.adserver.co.jp/'
>
[PR] 500円からご希望のフィルタをお作りします!</a>
</p>
<p>
<a
href=
'http://test.adserver.co.jp/'
>
[PR] 777円からご希望のフィルタをお作りします!</a>
</p>
見つかりましたね。
でも、ちょっと待ってください。
目的のソースが見つかると、途端に狭い視野になってしまう事があるので注意しなければなりません。
念のため、探し出したソースの周辺を見てみると…。
<!-- ad start -->
Webページサンプル<div
class=
'htmlsrc_prx'
>
<p>
<a
href=
'http://sample.adserver.co.jp/'
>
[PR] 500円からご希望のフィルタをお作りします!</a>
</p>
<p>
<a
href=
'http://test.adserver.co.jp/'
>
[PR] 777円からご希望のフィルタをお作りします!</a>
</p>
</div>
<!-- ad end -->
どうやら、この広告はコメントで括られているようですね。
恐らく、管理上の都合だと思われますが、広告をコメントで括られることはしばしばあります。
コメントを探し出すと、フィルタの作成が簡単なものとなるので視野を広く持つように配慮すると良いでしょう。
今回は広告が2つだけですが、10個ぐらいの広告になると全てを網羅した表現を考えるのは大変です。
コメントなら、1つの表現を考えればいいわけですから、比較的簡単にフィルタを作成できます。
今回は非常に簡単なので、完成形を紹介します。
Kill comment ad[Patterns] Name = "Kill comment ad" Active = TRUE URL = "$TYPE(htm)" Limit = 512 Match = "<!-- ad start -->*<!-- ad end -->" Replace = "\r\n<!-- Kill ad -->\r\n"
メタキャラクタのアスタリスクを使用しています。
*
は扱いの難しいメタキャラクタですが、「*
の後ろの表現で終わる事がわかっている場合」は有効に使えます。
今回の場合、<!-- ad end -->
で終わることは明白ですから、*
を使って問題ないわけです。
Limit のサイズを "512" に変更しています。
Limit とはProxomitronが検索するときの「サイズ制限」です。
初期値の "256" なら、「256バイトまで検索する」という事になります。
Limitには必要最小限のサイズを割り当てるのが常識ですが、今までは初期値の "256" で問題なかったため、説明を省略していました。
今回は "256" では足りなかったため、2倍の "512" に変更しました。
絶対というわけではありませんが、Limitにはコンピュータに理解しやすい2の乗数を割り当てるのが通例となっています。
置換テキストに広告を削除した旨をコメントに記述するようにしています。
後でソースを表示したときに、Proxomitronが広告を削除したことが判るようにするためです。
こういう細かな配慮は後々役立つことも多いので、好みに応じて入れてみてください。
コメントの前後の改行は、コメントを見やすくするためのものです。
それでは、最終チェックです。
広告を含むhtmlソース(htmlソース2) をテストウインドウの <テストするHTMLを入力> と書かれている欄に記述して、テストしてみてください。
テストで該当部分が削除されることを確かめてから、ブラウザでこのページを更新してください。