Proxomitron フィルター作成スレッド Part10at SOFTWARE
Proxomitron フィルター作成スレッド Part10 - 暇つぶし2ch436:think ◆MM0nnAOCiQ
08/12/12 03:33:02 4qgRnf9L0
>>434
> もう、見てないと思いますが
ところがどっこい、起きてますw
興味深かいフィルタだったので、>422のフィルタをベースに私も書いてみました。
(実際に私だったらこう書くであろう書き方をしています)

[Patterns]
Name = "Futaba: Convert JS Link to HTML [2008/12/12] test1"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "$NEST(<script[ ],[^>]+> "
"(<!--|)"
"( ([$_a-z][0-9a-z_]+)\0 = $AV(\1) ;$SET(FutabaURL=$GET(FutabaURL)\n\0,\1))+"
" window.open $NEST(\(, $AV(\#)( \+ ([$_a-z][0-9a-z_]+)\2$TST(FutabaURL=(*\n|)$TST(\2),([^\n]+)\#*))+"
"( \+ $AV(\#))+(,*|),\))"
"*,</script>)"
"$SET(FutabaURL=\@)"
Replace = "<a href="$GET(FutabaURL)" target="_blank">$GET(FutabaURL)</a>$SET(FutabaURL=)"

■>422との違い
・$NEST, $AV を使用
・<script> のコメント無しでもマッチするようにした
・変数名をJavaScript仕様上扱える文字列はすべてマッチするようにした
・window.open のURLに相当する内容チェックは行わないようにした (window.openするということは、最終的にURL文字列になるはずなので)
・拡張子に相当する文字列連結はなくてもマッチするようにした (同上)
・URLの内容チェックを行わない都合上、Replace欄のアンカー文字列をURL全体の文字列にした
・window.open のnameは省略可にした
・グローバル変数に代入するフォーマットを「変数名,値\n」の書式に変更した


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch