08/02/29 00:42:36 F4LFDoQT0
>>655,657
私の作成したWebページフィルタは、以下の順序にすることを意識しています。
■Webページフィルタの上からの順序
1. URLマッチに $KEYCHK() があるフィルタ
2. URLマッチにホスト名の記述があるフィルタ
3. URLマッチに $TYPE() 以外の指定がないフィルタ
■この順序にする理由
1. $KEYCHK() を付けているフィルタはある場面に遭遇したときにユーザーが自発的に動作させるフィルタ。
ユーザー任意で発動させるので、優先度は最も高い。
2. URLマッチにホスト名の記述があるフィルタは特定のサイトに機能を付加するか、サイトの機能をキャンセルする動作をするフィルタ。
ユーザーがそのフィルタを導入しているということは、そのサイトへの訪問頻度が高いと思われるため、優先度は高い。
3. URLマッチに $TYPE() 以外の指定がないフィルタは、汎用的な動作をするフィルタ。
汎用故に様々なサイトで動作することが望まれるが、特殊な用途のあるフィルタと比べれば優先度は低い。
■既知の不具合
フィルタの干渉には気を遣っていますが、「http Text to Link」と「ReplaceStr」の干渉は避けられませんでした。
これらのフィルタは、テキストにマッチさせるための仕組みが一緒なので、片方でマッチした場合はもう片方でマッチしません。
「ReplaceStr」のリストに「http Text to Link」のパターンを取り込めれば良かったのですが、そうするためには置換スタックをグローバル変数に変える必要がありました。
リストに登録された全ての表現をグローバル変数化すると、メンテが大変なのでこの手法は諦めました。