08/12/14 22:31:43 RCK+KOlI0
>>490,493
> q79940="1";とq79940="2";が同じスクリプトタグ内に存在するとき
最も簡単な解決方法は「変数名,値\n」を$SETするときに先端に挿入することです。
[Patterns]
Name = "Futaba: Convert JS Link to HTML [2008/12/14] test2"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 512
Match = "$NEST(<script[ ],[^>]+> "
"(<!--|)"
"( ([$_a-z][0-9a-z_]+)\0 = $AV(\1) ;$SET(FutabaURL=\0,\1\n$GET(FutabaURL)))+"
" 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=)"
Proxomitronのマッチングルールは最短マッチが基本なので、
これを$TSTすると、最後に$SETした「変数名,値\n」がマッチします。
もう一つの方法は、$SETする度に$TSTで既存の変数名を探して上書きするルーチンを加える事。
こちらはちょっと面倒ですね。