5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Proxomitron フィルター作成スレッド Part10

45 :名無しさん@お腹いっぱい。:2008/10/25(土) 21:30:51 ID:NQ5+ApaF0
ふと思ったんだけど、フィルター書くときに
<a\s[^>]++href= とかよく使うと思うんだけど、
例えば、<a onClick="〜for(i=0;10>i;i++)〜"
のように不等号として<と>が使われてるとうまくマッチしないな。

で、さらに突き詰めると、<a title=">"〜>とか書かれたらオミ殺しになってしまう。
やっつけでクォートされた<と>を&lt;と&gt;に置き換えるフィルタ作ったんで添削ヨロ。

[Patterns]
Name = "Replace Quoted <> test1"
Active = TRUE
Multi = TRUE
URL = "$TYPE(htm)"
Limit = 1536
Match = "(^(^<[a-z]+\s[^>]++=$AV(*[<>]*)))"
""
"(<[a-z]+\s)\#("
"([^>]++=)\#$AVQ("
"((?++)\#(($NEST(\(,\)))\#|<$SET(#=&lt;)|>$SET(#=&gt;)))+\#)"
")+"
Replace = "\@"

・クォートされた、<と>を実体参照に置換  例.title="(>_<)"など
・スクリプトなどで不等号として使われるものを置換すると動かなくなるっぽいので、
 ()内は、$NEST(\(,\))でスルー

結局、最初の<a onClick="〜for(i=0;10>i;i++)〜"みたいなのは対処できず。
誰か知恵をお貸しくだされ。

298 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)