1 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/12/02(日) 03:02:52 ID:1l6Tk/UJ0] このスレは作成依頼されたフィルタを有志により作るスレッドPart8です Proxmine - Uploader wind.prohosting.com/proxmine/cgi-bin/uploader/ Proxomitron専用Uploader proxo.hp.infoseek.co.jp/cgi-bin/sn_uploader/upload.html Proxomitron等に関するWiki abc.s65.xrea.com/prox/wiki/ Thinking Archive(仮) vird2002.s8.xrea.com/ >>2-10 にいろいろと
449 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/08(金) 01:26:59 ID:G2JZag5c0] >>421 私の説明が誤解して受け取られているか、294氏の希望を私が誤解しているか。 どこかですれ違っている感覚があります……。 確認したいのは2つ。 「どのような行程を経て、デバッグしているか」と「デバッグテキストをどのような用途で使うか」です。 私のデバッグ方法では、デバッグを二段階に分けて行います。 1. テストウインドウでデバッグ 2. Webページ上でデバッグ この内、デバッグテキストを使うのは 1. の時だけです。 そもそも、あのデバッグテキストは、2つのフィルタを対象にテストウインドウ上でテストできないProxomitronの仕様に対処するために作りました。 「Google: High Light 1」は「Google: High Light 2」と組み合わせずとも動作しますが、「Google: High Light 2」は「Google: High Light 1」があることを前提としたフィルタのため、「High Light2」単体では期待通りに動作しません。 ですので、私は「High Light 1」で行う「グローバル変数にセットする処理」をデバッグテキストに含めたのです。 >301でも触れましたが、デバッグ方法を別の言葉に改めると以下のようになります。 1. 「Google: High Light 1」をテストウインドウで単体テスト 2. 「Google: High Light 2」をテストウインドウで単体テスト (1. で行った処理をデバッグテキストに含めてみる) 3. デバッグテキストを外し、Webページ上で実地テスト 3. のステップは単体テストではないので、デバッグテキストは使いません。 勿論、3. のステップで単体テストを行っても構いませんが、あくまで単体テストなので、「デバッグにかけるフィルタのみを有効に」します。 (デバッグテキストを使う場合は、「Google: High Light 1」と「Google: High Light 2」を両方有効にして、デバッグを行いません。) 認識にズレがないということでしたら、手間をかけてすみませんが、「どのような行程を経て、デバッグしているか」と「デバッグテキストをどのような用途で使うか」を説明していただけないでしょうか。 私の方でも検証しようと思います。 > ReplaceStr-utf8のリストに含まれていたデバッグ用テキストが今更気になり ReplaceStr-utf8のリストにデバッグテキストが入ってました…? 記憶にないです(汗)
450 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/08(金) 01:34:57 ID:G2JZag5c0] >>421 > 支障はなくただの疑問なのでこのまま流していただいて構いません 疑問に思うところがあれば指摘していただいてかまいません。 というより、指摘していただいた方が私は嬉しいです。 「何度もしつこいと思われるかもしれませんが」というような懸念があるのであれば、全くの杞憂なのでそこは気になさらないでください。 レスをつけるかは別にして、否定的な意見も肯定的な意見も参考にさせていただいています。(煽りは勘弁願いたいですが) >>415 私より詳しい方(>417-418)がアドバイスがあったので静観していましたが、解決したのでしょうか? 解決済みであれば良いのですが。
451 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/08(金) 01:50:31 ID:G2JZag5c0] 下記、ちょっと誤解を生む表現だったので、訂正します。 >>449 > 勿論、3. のステップで単体テストを行っても構いませんが、あくまで単体テストなので、「デバッグにかけるフィルタのみを有効に」します。 フィルタを一つだけ有効にするのは骨が折れるので、そこまでしなくても良いです。 ここで言いたかったことは、ある組み合わせのフィルタがあるときに「その組み合わせの中の一つだけを有効にする」という意味です。 (例) 「Google: High Light 1」と「Google: High Light 2」の内、片一方のフィルタだけを有効にする # このやり方で大方問題ないですが、希に他のフィルタが先にマッチしてしまう事があるので、デバッグモードでフィルタが干渉していないか調べておくと安心です。 # 慣れてくると干渉しそうなフィルタに見当が付いて先に無効化しておくこともできますが、フィルタの数が多くなるとそれも怪しくなってきます。 # フィルタの干渉に気がつかないで時間を浪費するのは悲しいので、デバッグモードによるチェックを習慣にしておくと良いと思います。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 05:59:28 ID:ihYwaC4N0] 3行で頼む
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 06:18:40 ID:NAN3dSae0] 少 年 ナイフ
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 07:09:32 ID:rjip0GcF0] googleにリンク付けるフィルタの更新もお願いします。
455 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 07:43:42 ID:JlFm1FLd0] >>448 02/08fixed版だと誤爆しなくなりました。ありがとう御座います。 で、誤爆の状況ですがこんな感じ。 up2.viploader.net/upphp/src/vlphp135247.jpg 上がバイパス状態で下が適用してた時です。 ソースで言うと ---------- ここから ---------- <a href='/service/attach/?BP=493453&FP=010000001898584' target='_blank'> <img copyright="yes" border='0' style='margin:5px;' src='http://〜〜(長いので略)' align='' onContextMenu='return false;' /></a><br /> [謎の袋]<br /> ---------- ここまで ---------- これが ---------- ここから ---------- <br /> <a href='/service/attach/?BP=493453&FP=010000001898584' target='_blank'>ProxAllow='return false;' /></a><br /> [謎の袋]<br /> ---------- ここまで ---------- こうなってました。
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/08(金) 10:20:13 ID:dPKWGfsg0] ウチも[2007/05/23] fixedだけど、ちゃんと謎の袋画像見えるよ。
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 01:27:55 ID:eHnLINWD0] thinkさぁ、丁寧なのは良いんだけどイチイチ冗長なんだよ。 前にも言ったけど。 /.Jの様なノリでケツにゴチャゴチャ書く事多いし。
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 01:43:04 ID:ShhxpiCp0] そりゃ長文が苦手で余談・補足の記法に馴染みがないだけじゃね
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 02:05:15 ID:scT/7ofC0] 冗長なのは基本的によくないけど、 専門的なフィルタに説明が必要なのはしかたないことかと。 あとは説明の方法しだい。
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 03:07:43 ID:fcq8pm4A0] 冗長かもしれないけど、説明的でわかりやすいからこれはこれで有りだと思う。 あと、簡潔にわかりやすく書くのって結構センス居るんだわ。 その辺の問題があるから、無理して簡潔に書くより取りこぼしが少ない方が嬉しい。 それに、わかる人なら読み飛ばせばいいだろうってのも。
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 05:53:54 ID:WnWt+/Hu0] お前らが理解できようが読みづらかろうが、今は関係ないけどな 大事なのは、相手に正しく伝わったか、だ
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 08:52:30 ID:YbNif4Gv0] 自サイトでフォーラムなり掲示板なりを作って そっちでやったほうがいいのにとは思う。
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 09:42:16 ID:SDy9/7/k0] なんで?
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 09:50:12 ID:ahAj92vV0] a a
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 10:19:08 ID:9KzC1Vzq0] >>462 自サイトでフォーラムなり掲示板なりを作って 三行以上書き込めないようにしたら?
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 10:29:47 ID:x/Bbw3Zd0] 見てるだけでも勉強になるからそのままのチンクでいてくれ
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 11:02:19 ID:NutmphcW0] 同感
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 11:35:13 ID:MIQLIvyI0] 同感
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 12:54:07 ID:Lr6VFnWv0] この手の人間に何かを期待するのは無駄だよ。
470 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 13:21:56 ID:JzeSYycq0] 他人の書き込みが目に障るならフィルタリングすればよいのでは
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 13:36:36 ID:2dMdbceX0] 名前欄がthinkの書き込みの語尾を「にょ」に変換するフィルタきぼん!
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:12:00 ID:kRqavFSJ0] 私はバカなので丁寧な説明が付いているのはありがたい 自分で応用する時に役に立つし
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:41:10 ID:b+Ov6h/v0] 専ブラでみるとき楽だからここでやってもらった方がログ見るの面倒くない 自分関係なくても丁寧な説明はなんだか役に立つような気がする・・・気がする・・ しばらく前からアマゾンとかでスクリプトエラー頻発するけどナニが問題なのかパッと見分からん めんどい・・・
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 15:54:38 ID:yy4iSxnk0] >>471 作ってみたw まだ作り途中だがw [Patterns] Name = "think ress to nyo" Active = TRUE Multi = TRUE URL = "[^/]++.2ch.net/*/read.cgi$TYPE(htm)" Bounds = "(<a|<font)\s[^<]+<b>think*(</dl>|<dt>)" Limit = 4096 Match = "(\#<br>$SET(#=にょ<br>))+\#" Replace = "\@"
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 16:07:07 ID:b+Ov6h/v0] ワラタ 句点だけでも置き換えられたらもっと面白い
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 16:13:32 ID:yy4iSxnk0] なるほど"。"を"にょ。"にすればいいか [Patterns] Name = "think ress to nyo" Active = TRUE Multi = TRUE URL = "[^/]++.2ch.net/*/read.cgi$TYPE(htm)" Bounds = "(<a|<font)\s[^<]+<b>think*(</dl>|<dt>)" Limit = 4096 Match = "(\#。$SET(#=にょ。))+\#" Replace = "\@"
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 16:52:50 ID:7pjBNh950] >>476 意外に違和感なかったw 「の」を全部「にょ」に変換しても良いかもしれないな 451 :think ◆MM0nnAOCiQ :2008/02/08(金) 01:50:31 ID:G2JZag5c0 下記、ちょっと誤解を生む表現だったので、訂正しますにょ。 >>449 > 勿論、3. のステップで単体テストを行っても構いませんが、あくまで単体テストなので、「デバッグにかけるフィルタのみを有効に」しますにょ。 フィルタを一つだけ有効にするのは骨が折れるので、そこまでしなくても良いですにょ。 ここで言いたかったことは、ある組み合わせのフィルタがあるときに「その組み合わせの中の一つだけを有効にする」という意味ですにょ。 (例) 「Google: High Light 1」と「Google: High Light 2」の内、片一方のフィルタだけを有効にする # このやり方で大方問題ないですが、希に他のフィルタが先にマッチしてしまう事があるので、デバッグモードでフィルタが干渉していないか調べておくと安心ですにょ。 # 慣れてくると干渉しそうなフィルタに見当が付いて先に無効化しておくこともできますが、フィルタの数が多くなるとそれも怪しくなってきますにょ。 # フィルタの干渉に気がつかないで時間を浪費するのは悲しいので、デバッグモードによるチェックを習慣にしておくと良いと思いますにょ。
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 17:10:55 ID:y1HY0uk00] 愛されてるナァw
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 21:54:43 ID:scT/7ofC0] こういうばかばかしいのはいいな。もっとやってくれ。
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/09(土) 22:30:30 ID:2nJEUXlr0] 本人には悪いが和んだ (*´∀`)
481 名前:think ◆MM0nnAOCiQ mailto:3行はやっぱり難しいにょ sage [2008/02/10(日) 00:25:22 ID:ORAxknSx0] 簡潔に書いてこちらの意図が伝わらなかった経験が何度もあるので、常に3行説明は私には無理ですにょ。 フィルタで改善してみましたので、良かったら使ってみてくださいですにょ。 thinkarc.blogspot.com/2008/02/2proxomitron.html
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 00:28:39 ID:8CDHggNw0] ノリがいいですねw
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 00:32:20 ID:0OXsnLFP0] でもこれじゃ にょにょ。になる罠ww
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 00:32:35 ID:gCHe+I5Y0] >>481 自分で語尾ににょを付けて>>476 のフィルタの例外処理不足を教えるとは… ほんとにthinkさんはいい人ですにょにょ。
485 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/10(日) 01:24:14 ID:ORAxknSx0] ネタにマジレスするばかばかしさが好きですにょ。 >>477 > 「の」を全部「にょ」に変換しても良いかもしれないな それはこういうときに困ると思うの。
486 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/10(日) 01:37:45 ID:ORAxknSx0] 「Google: Jump special search」を更新および、YahooでWeb検索したときにYahoo ダイレクト検索のリンク先に転送するフィルタを作成しました。 thinkarc.blogspot.com/2008/02/googleyahooproxomitron.html
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 02:01:24 ID:vGFwpkpH0] 宣伝は要らないな
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 02:07:26 ID:GxRxhlyK0] thinkをちんこにするフィルターおねがいします
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 02:46:53 ID:sCeV8yof0] ちょっと調子に乗っちゃったかもね… まあガンバレ
490 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 09:07:41 ID:zdnC+4II0] 今頃気がついたがここは隔離スレだったのか
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 14:21:44 ID:0OXsnLFP0] <a href="www.nicovideo.jp/watch/sm1234 " class="video">sm1234</a> ↓位下に置き換え <a href="www.nicovideo.jp/watch/sm1234 " onMouseOver="return popThumb('thumb/sm1234', 0)" onMouseOut="return nd()" class="video">sm1234</a> <a href="www.nicovideo.jp/mylist/1357 " class="video">mylist/1357</a> ↓位下に置き換え <a href="www.nicovideo.jp/mylist/1357 " onMouseOver="return popThumb('thumb_mylist/1357', 0)" onMouseOut="return nd()" class="video">mylist/1357</a> という動作をするフィルタ作りたいと思ってるんですけどどうもMatchがうまくいかないみたいでorz どなたかご教示お願いします。
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 14:27:12 ID:PpCPwwSO0] ニコニコは専用スレがあるからそっちで
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 16:14:57 ID:gCHe+I5Y0] >>491 Match = "(<a href="www.nicovideo.jp/ " "(watch$SET(1=thumb)|mylist$SET(1=thumb_mylist))" "(/[^"]+)\2")\0(^(^ class="video">))" Replace = "\0 onMouseOver="return popThumb('\1\2', 0)" onMouseOut="return nd()""
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/10(日) 16:39:49 ID:0OXsnLFP0] >>493 ありがとうございます。おかげで何とか出来ました。 >>492 そうですね。次からはそちらで質問させていただきます。
495 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 04:53:09 ID:JVJTtG3g0] >>455 こちらでは「Allow right mouse click plus [2007/05/23] fixed」で動作しているので、どこに原因があったのかは未だにわかりません。 しかし、02/08fixed版で正常動作しているということなので、終わりよければということで…。 (ひょっとしたら、他のフィルタと干渉していたのかもしれませんね。) 別の方法で対策した改良版を作ってみましたので、良かったらこちらもどうぞ。 3点のフィルタで使われた対策に加えて、それ以上の対策も少し施してあります。 thinkのScrapBook: 右クリック禁止を解除するProxomitronフィルタ thinkarc.blogspot.com/2008/02/proxomitron.html
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 11:34:14 ID:2dXZFCkK0] >>252 私も>>253 さんのフィルタを使ってます。マッチできないものもあったので、フィルタを自作できない自分ですが、自分なりに書き換えてみました。 もしまだ見てたら使ってみてください。 URL = "202.212.88.55/|techside.in.arena.ne.jp/" Limit = 3456 Match = "$NEST(<table\swidth="600"*['|]*,/table>)"
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 11:47:10 ID:glm8Ht4E0] これは酷い
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 11:49:29 ID:2dXZFCkK0] >>497 やっぱり? きちんとしたものにするためのアドバイスがあったらおくれ。
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 13:18:22 ID:IsgBG2QX0] 何の意図があって、どのような仕様/結果を期待して改造したのかさっぱりわからない。 だからアドバイスもしようがない。
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 13:37:03 ID:2dXZFCkK0] >>499 >>252
501 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 13:52:36 ID:IsgBG2QX0] >>500 いや、そりゃわかるわw Limitを3500〜4000程度に変えるだけで問題なさそうだけど、*['|]*って何がしたかったの?
502 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 13:58:43 ID:BdlrPNGj0] * これだけで済むなw
503 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:03:39 ID:2dXZFCkK0] >>501 こっちの掲示板の、 202.212.88.55/anime/chabo.cgi この文字列がマッチしなかったからマッチするように試行錯誤したのです。 <table width="600" border="0" align="center" cellspacing="2" cellpadding="4"><tr><td><small>■ おもちゃ&ホビー−トップセラー(Ama zonアソシエイト) ○<a href=httde-22 target="_blank">魔法少女リリカルなのはA's フェイト・テ</a> </small></td></tr></ta ble></FORM></DIV><hr><!--202.212.88.55--><b><b><足></b>崩した正座。<a href="http: //dat.jpg" target='_blank'>[URL]</a><SMALL>[02/10 01:33] </SMALL> 行が長すぎるから途中で改行したけど、ソース全体が一列の文字列になってます。一列になってるおかげでマッチしなくなってたのです。 結果原因見つけて、「'」があってもなくてもどっちでもマッチしないとパターンによって消えないからそれを入れてみたら動いたのです。
504 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 14:06:36 ID:2dXZFCkK0] >>502 ほんとだっ(`・ω・´) もとのだとマッチしなくて困ってたので、よりスマートに出来てよかったのです。 どもですっ。
505 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 14:16:19 ID:2dXZFCkK0] Limitはリンクの最大の文字列にあわせつつ、数はどういうのが適当なのかわからないから>>14 の書き込みにあわせてみました。 もとのに*入れるだけでよかったとは、いろいろためしたくせに気づかなかったです。 ありがとうですっ。 ということでこんどこそきっと完成です(`・ω・´) URL = "202.212.88.55/|techside.in.arena.ne.jp/" Limit = 3456 Match = "$NEST(<table\swidth="600"*,/table>)"
506 名前:名無しさん@お腹いっぱい。 [2008/02/11(月) 14:55:43 ID:9RqHnvJn0] >>505 先日そこの掲示板でProxomitronを知った俺にぴったりのフィルターだ
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 15:04:11 ID:2dXZFCkK0] >>506 たぶん、それ自分のカキコ。 紹介したアマゾンのAA部分のみ削除も実は自分の書いたもの。これだよね。 abc.s65.xrea.com/prox/wiki/%A5%D5%A5%A3%A5%EB%A5%BF%A1%A2%A5%EA%A5%B9%A5%C8%B8%F8%B3%AB/amazonAA/ これもきっと今回のもののように無駄があるんだろうな(´・ω・`) 少しづつ試して少しづつ変えてるのです。
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 15:20:11 ID:9RqHnvJn0] あんただったのか。サンクス。 知識のない俺には難しそうだけどフィルター作り挑戦してみるかな−。
509 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 15:40:33 ID:Q3tdQ0Ia0] $NESTだからアスタリスクなくてもよくね?
510 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 15:41:13 ID:JVJTtG3g0] >>505 $NESTで誰でも一度はまる部分で躓いてますね。 そのフィルタは以下のHTMLに誤爆してしまいます。 <table width="600"><tr><td> <table width="600"><tr><td>hoge</td></tr></table> </td></tr></table> $NESTはHTMLタグの入れ子をチェックしているわけではない、です。 詳しくは下記URLを参照してみてください。 マッチングコマンド - $NEST vird2002.s8.xrea.com/proxomitron/matching_command/m-cmd_nest.html $NESTに入れ子を判断させるためには、以下のように書いてみてください。 $NEST(<table,\s[^>]++width=$AV(600)*,</table>) これで綺麗さっぱり消えてくれますね。 ただ、この書き方ではwidth属性の値が変化したときに対応できないので、AmazonのURLを確認するようにすると良いかもしれません。 その辺はお好みでどうぞ。 $NEST(<table(\s|>), *<a\s[^>]++href=$AV(www.amazon.co.jp/exec/obidos/ASIN/[^/]+/[^-]+-22 ) *,</table>)
511 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 15:51:34 ID:2dXZFCkK0] >>509 それだとリンクに'がまざったときにマッチしなかったのです(´・ω・`) >>503 は削りすぎました(´・ω・`)
512 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 16:07:03 ID:JVJTtG3g0] >>511 > それだとリンクに'がまざったときにマッチしなかったのです(´・ω・`) これってどういう状況なんでしょう? テストウインドウ上では、>253のフィルタで>502のHTMLソースにマッチしましたし、実際にフィルタを見ても、「'」に原因があるようには思えませんでした。 <table> が以下のようになっていればマッチしませんが、そういうことなんでしょうか…。 <table width='600' border='0' align='center' cellspacing='2' cellpadding='4'>
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:07:43 ID:2dXZFCkK0] >>510 おおおー。どもですっ。 理解力がどうも足りないようで、Boundsのマッチと、Matchによるマッチの差もよくわかってなかったりします。 コマンドの使い方もわからなくて、1から作ろうとすると全く機能しないものしか作れなかったりするので、 ほかの人のフィルタをいじるくらいしか出来てないのですが、今回NESTについての理解に一歩近づいたような気がしますっ。 誤爆があるなと思って、強引に、このBBSにしか使われていないURLに絞るためにURL=をつけてみたのです。 amazonのURLは和書だと以下のようなものもあるので、 www.amazon.co.jp/3%E3%81%A4%E3%81%AE%E5%8E%9F%E7%90%86%E2%80%95%E3%82%BB%E3%83%83%E3%82%AF% E3%82%B9%E3%83%BB%E5%B9%B4%E9%BD%A2%E3%83%BB%E7%A4%BE%E4%BC%9A%E9%9A%8E%E5%B1%A4%E3%81%8C% E6%9C%AA%E6%9D%A5%E3%82%92%E7%AA%81%E3%81%8D%E5%8B%95%E3%81%8B%E3%81%99-%E3%83%AD%E3%83%BC%E3 %83%AC%E3%83%B3%E3%82%B9%E3%83%BB%E3%83%88%E3%83%BC%E3%83%96/dp/4478001170/tecde-22/ www.amazon.co.jp/MICHELIN-GUIDE%E6%9D%B1%E4%BA%AC-2008/dp/4930774314/teide-22/ (www.amazon.co.jp (/*/|)(ASIN|dp|product)/[^/]+/[^-]+-22)にしてみたんですが、上のには駄目でした_| ̄|○
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:14:13 ID:2dXZFCkK0] >>512 えっと、短いとだめっぽかったのですが、 ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000Y9GHRM/ target="_blank">ときめきメモリアル Girl's Side 2nd Seaso</a> みたいに、アマゾンのリンクの名前部分に、「'」があって、このサイトのURL自動変換で、 <a href="dat.2chan.net/18/src/1202550897335d33e.jpg " target='_blank'> というように、なぜか_blankが「'」でくくられてるのです。 「'」がアマゾンリンク内にないときは、普通に機能したのですが、「'」がリンク内にあって、なおかつ投稿メッセージ内にリンクが張られている場合は機能してなかったのです。 特定のジャンルがでた時だけ機能してなくて、原因が全くわからなくて数時間悩んでました。
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:24:13 ID:2dXZFCkK0] >>512 適当に書き込める場所がなかったので、小さなテキストをzipにしてアップしてみました。 この状態になると、>>253 のフィルタでは機能してなかったのです。 www2.uploda.org/uporg1245438.zip.html
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:32:31 ID:9RqHnvJn0] www.rakugakidou.net/ ここの両サイドの ・巡回お気に入りリンク ・気になるアイテム ・Amazonお買い物リンク を非表示にできないでしょうか。
517 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:33:52 ID:2dXZFCkK0] むむ。 >>510 のフィルタでも、 202.212.88.55/psp/chabo.cgi で、 リンク名に'がある、■ おもちゃ&ホビー−トップセラーと■ ゲーム−トップセラーになった時はマッチしないですね(´・ω・`) 「'」が何か引っかかるのかな・・・
518 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:34:24 ID:6luyy03K0] >>510 今回のフィルターとは全く関係無いが $NESTが上手く動作しない理由を始めて理解したよw
519 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:38:26 ID:2dXZFCkK0] >>518 自分も全く思いもよらなくて、数時間に渡ってすこしづつ文字列を削ってようやく発見したので、別のところで役に立ったのならうれしい限りですっ。 結局今のところ>>505 のフィルタじゃないとしっかり動いてくれてないです_| ̄|○
520 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:49:45 ID:2dXZFCkK0] って自分へのレスじゃないのねん_| ̄|○ (www.amazon.co.jp/*/ (ASIN|dp|product)/[^/]+/[^-]+-22(/|)) でいけましたっ。 けど機能しないときがあるのは変わらず(´・ω・`)
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 16:52:00 ID:IsgBG2QX0] なんかカオスになってきたな…なんか違う話してるやつが混じってないか?
522 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 16:55:32 ID:JVJTtG3g0] >>515 どうやら原因は、以下2つのようです。 ・HTMLソースに </table> がない ・>253のフィルタでは、Limitが足りない UPされたソースの最後に </table> を付け加えて、Limitを 4096 に変えたら>動作しました。 ttp://202.212.88.55/psp/chabo.cgi では </table> があるので、ソースのコピペで失敗しちゃってるのかもしれないです。 [Patterns] Name = "253" Active = TRUE URL = "$TYPE(htm)" Limit = 4096 Match = "$NEST(<table\swidth="600",/table>)" Replace = "<!-- 253 -->" というわけで、「'」は無罪となりましたw
523 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 16:57:00 ID:JVJTtG3g0] >>513 > amazonのURLは和書だと以下のようなものもあるので、 あ、そこまで厳密には考えてませんでした。 AmazonのURLは仕様変更が多々あって非常にわかりづらいですね。 Control URLのリスト用に書いた「Amazonの表現」があるので、これを改造して作ってみました。 ■Control URL用リスト # Amazon -- 新URLに転送 (www.|)amazon.(co.|)jp/(exec/obidos/ASIN/([\%~0-9%41-%5a]+{10}/)\0|gp/product/\0)&[Tab]$JUMP(www.amazon.co.jp/dp/\0 ) # Amazon -- URL内の商品名文字列を削除 (www.|)amazon.(co.|)jp/[\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/(dp/[\%~0-9%41-%5a]+{10}(/|(^?)))\0[Tab]$JUMP(www.amazon.co.jp/\0 ) ■フィルタ [Patterns] Name = "TS: Kill amazon affiliate ad [2008/02/11] test1" Active = TRUE URL = "$TYPE(htm)202.212.88.55/(ch/|psp/)chabo.cgi(^?)" Limit = 8192 Match = "$NEST(<table(\s|>)," "*<a\s[^>]++href=$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)" "(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)[^/-]+-22(/|)" ")\0)" "*,</table>)" Replace = "<!-- Kill Kill amazon affiliate ad: \0 -->" ■備考 アフィリエイトURLはよくわからないので、あまり深い検証はしてないです。 サンプルがあれば対応する気はありますので、希望があれば仰ってください。
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 17:06:30 ID:2dXZFCkK0] >>522 はう。ありがとうです。 一列なのでわかりづらいのですが、</table>は<!--202.212.88.55-->の四つ前にあるのです。たしかにもう一つ加えるといいのですが、実際はないのです。 どうせならソース全部アップすべきでした。すみません。 ということでアップしてみました。 www.uploda.org/uporg1245539.zip.html
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 17:14:59 ID:2dXZFCkK0] よく考えたら、知識のないままいろいろなフィルタをつけてるので、それのどれかが干渉してることがあるかもしれないですね_| ̄|○ うちの環境なら>>505 で一見普通に動くのは、その他のフィルタと何らかの干渉があるのかもしれないです。
526 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 18:41:55 ID:JVJTtG3g0] >>524 > 一列なのでわかりづらいのですが、</table>は<!--202.212.88.55-->の四つ前にあるのです。 恥をさらしてしまいました……。orz > www.uploda.org/uporg1245539.zip.html とりあえず、広告部分だけ抽出すれば、>522でマッチしました。(バイト制限に引っかかったので、下記HTMLは一部削除してあります) <table width="600" border="0" align="center" cellspacing="2" cellpadding="4"><tr><td><small>■ おもちゃ&ホビー−トップセラー(Amazonアソシエイト) ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000S0H06O/ " target="_blank">Figma 涼宮ハルヒの憂鬱 長門有希 制服ve</a> ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000K7UO5O/ " target="_blank">アクションフィギュアコレクション+ToHea</a> ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000YDWH4K/ " target="_blank">HG グラハム専用ユニオンフラッグカスタ</a> ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000GQ3PB4/ " target="_blank">魔法少女リリカルなのはA's フェイト・テ</a> ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000XA76AO/ " target="_blank">デスノート ねんどろいど 夜神月 サンタV</a> ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000K7UO5Y/ " target="_blank">アクションフィギュアコレクション 機動戦</a> ○<a href="www.amazon.co.jp/exec/obidos/ASIN/B000VI34SQ/ " target="_blank">マビノギ ねんどろいど ナオ (ノンスケー</a> </small></td></tr></table> 全HTMLを対象にすると>522ではマッチしませんね。(Limitをあげてもダメ)
527 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 18:43:08 ID:JVJTtG3g0] $NEST起因の問題かどうかは今ひとつわかりませんがとりあえず、$NESTを使わない方式に切り替えてみましょうか。 [Patterns] Name = "TS: Kill amazon product url [2008/02/11] test2" Active = TRUE URL = "$TYPE(htm)202.212.88.55/(ch/|psp/)chabo.cgi(^?)" Limit = 8192 Match = "<table(^(^(\s|[^>]+>)" "((^</+table>)?)++<a\s[^>]++href=" "$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)" "(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)([^/-]+-22(/|)|)" ")\0)))" Replace = "\r\n<table style='display: none'" 更新点 - アフィリエイトが付かないURLにも反応するようにした (>524のAmazonのリンクはアフィリエイトではありませんでした) - $NEST を外し、先読みでAmazon URLを発見したら、table要素に "display: none" を適用するようにした # >524での正常動作を確認済みです。
528 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 18:58:56 ID:JVJTtG3g0] >>525 > その他のフィルタと何らかの干渉があるのかもしれないです。 検証時に少し気になったのですが、>524はフィルタ適用後のソースですよね? (私が作成したフィルタが出力したと思われるHTMLが混じっていたので) HTMLソースをテストにかけるときには、Proxomitronを通さないバイパス状態のHTMLでテストするのが一番いいです。 フィルタリング後のソースに対してテストするということは、干渉すること前提の検証になってしまいます。 Web制作者が作ったそのままのHTMLでテストした後に「フィルタが干渉しないようにするにはどうしたらいいか」を考える方が無駄が少ないと思います。 # 私の環境では>523のフィルタで ttp://202.212.88.55/psp/chabo.cgi の広告を削除できているので、 # 問題があったとしても原因がどこにあるのかが判断できないでいます。 次にまた問題が発生したら、バイパス時のソースで試してみてはどうでしょうか。 自分で考えてわからなければ、また一緒に考えてみましょう。
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:29:52 ID:2dXZFCkK0] >>527 ありがとうございますっ。 今回のフィルタで完全にフィルタが見えなくなってましたっ(≧▽≦) Boundsのほうがなんとなく安心して使えるような気がします。 ただ、掲示板群全部を対象にしたいので、URLのマッチについては $TYPE(htm)202.212.88.55/|techside.in.arena.ne.jp/ に変更してみましたっ。 この掲示板群で、唯一改行が完全に入ってる202.212.88.55/ch/chabo.cgi だと、もとのフィルタで問題がなかったのですが、全てが一行になってるほかの掲示板では機能しなかったのです。 それから、アマゾン部分を抜き出しただけでは機能するのですが、このソースの最後に、一つ以上「'」をつけると、いきなり機能しなくなります。 このことが、「'」が原因じゃないかと自分が考えた理由です。 >>526 のソースも、全ての改行を削除して、最後に「'」の一文字だけを追加するだけで、Proxomitron側のテストでも、合致なしとなってしまいます。(バージョンはNaoko 4.5(2003-6-1)+6です。 あと、デフォルトのソースだとIPアドレスがそのまんまソースに乗ってしまうので、ついフィルター後のをアップしてしまいました。 一応、全て一行になっている、Proxomitronを通さないソースもアップしときます。(undonuts使ってるので切り替えは楽なので。) IPアドレスだけはIPアドレスと書き換えておきました。こっちのソースで試しても、もとのフィルタではもちろん駄目でした。上記条件でも全く一緒でした。 www.uploda.org/uporg1245745.zip.html それにしても、掲示板にアクセスしただけで自分のIPがソースに載るってことは、投稿時か何かに使われるってことですかね?
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:36:01 ID:2dXZFCkK0] >>528 あっと、>>523 のフィルタの場合、私の環境でもほとんどの場合問題がないです。大体削除できています。 でも、何度もクリックしていると、「'」のあるリストだけは削除されずに表示されるのです。 初見の場合はもちろん気づかないのですが、このサイトのユーザー的には一日に何度も見るので気にかかってたのでした。 この掲示板群のあるサイトについてですが、この一言形式の掲示板はこのサイトの主催者が自分でソースを改造したりして作ってて、URLとかも独自なものとなってます。
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:54:16 ID:2dXZFCkK0] >>530 違った。 >あっと、>>523 のフィルタの場合、 ではなくて、>>522 のフィルタの場合。でした。 >>523 の場合はこっちで試して結果は同じです。(アフィリエイトIDなので、アフィ内のhの文字を抜いておきましたが、抜く前でも抜いたあとでも結果は同じでした) (改行は全て削除して試した場合です。最後に「'」を入れてます。外すと合致します。) <table width="600" border="0" align="center" cellspacing="2" cellpadding="4"><tr><td><small>■ おもちゃ&ホビー−トップセラー(Amazonアソシエイト) ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000S0H06O/tecside-22 target="_blank">Figma 涼宮ハルヒの憂鬱 長門有希 制服ve</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000K7UO5O/tecside-22 target="_blank">アクションフィギュアコレクション+ToHea</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000YDWH4K/tecside-22 target="_blank">HG グラハム専用ユニオンフラッグカスタ</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000GQ3PB4/tecside-22 target="_blank">魔法少女リリカルなのはA's フェイト・テ</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B0013DCFRO/tecside-22 target="_blank">P:キャラ 涼宮ハルヒの憂鬱 涼宮ハルヒ</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000XA45M6/tecside-22 target="_blank">デスノート ねんどろいど L トナカイVer.</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000XA76AO/tecside-22 target="_blank">デスノート ねんどろいど 夜神月 サンタV</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000K7UO5Y/tecside-22 target="_blank">アクションフィギュアコレクション 機動戦</a> ○<a href=www.amazon.co.jp/exec/obidos/ASIN/B000VI34SQ/tecside-22 target="_blank">マビノギ ねんどろいど ナオ (ノンスケー</a> </small></td></tr></table>'
532 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 19:58:48 ID:IsgBG2QX0] >>529 ソースにリモホ出してる意味はわからないけど、それとそのIPを使うかどうかは別問題というか そもそもTCP/IPで通信するならこちらのIPを通知しないと通信が成立しないから。 (初対面の人にこちらの住所書かないで「必ず返信ください」って葉書出してもムリなのと同じ) リモホを公開ページ上で利用するかしないかは管理人次第だけど、まぁ、要するに全く別問題。 このリモホを表示するってのはこの『ChaBo』っていう掲示板CGI自体の初期仕様だね。 TECHSIDEの中の人が意図的に表示してるわけではないみたいよ。 >>530 > URLとかも独自なものとなってます。 なんのこっちゃ? ぶっちゃけTECHさんは何も改造してないみたいだぞ。 ていうか改造してるとかしてないとかオリジナルかどうかとか、フィルタ書くのに関係ないよね? 必死に何かを伝えたいようだが、何を伝えたいのか理解に苦しむ。 わけわからなくなってるのは俺だけかもしれないけど…。そうなら、ごめん。 ちょっと一度落ち着いてからにした方がいいんじゃないかな。
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:07:45 ID:2dXZFCkK0] >>532 そかぁ。 門外漢なので、テンションあげないとなかなか新しい試みをするのが大変なのでした。 他人じゃなくてアクセスした自分だけのIPが自分だけに表示されるのってのが、あんまりそういうのソースだけに乗ってるのがひっかかるなぁと思ったのです。 管理人次第ということはやっぱ使えることは使えるのかもしれないですね。 このところで202.212.88.55/ の202.212.88.55ってIPアドレスはTECHSIDE以外でも普通に使われてるアドレスになのかはわかります? 独自といったのは、独自だからフィルタを作るうえでURL限定にしてるだけで、誤爆の危険がほとんどないなぁと思ったわけなのです。独自だと思ったのは経験上の推測ですけどね(`・ω・´)
534 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:29:59 ID:IsgBG2QX0] >>533 なるほど、URL Matchの誤爆を警戒してたのね。 TECHSIDEは共用サーバで済むようなアクセス規模じゃないから、専用サーバだと思う…多分。 そうでないとしても、thinkさんみたいに/chabo.cgiまで見るMatchなら実用上問題はないでしょう。 で、確かにケツにシングルクォートを付けると突然Matchしなくなるのはこちらでも確認… なんでだろう。 俺個人としてはAmazonのURLまで見なくてもURL Matchとwidth="600"を見るだけで 実用上誤爆の危険はほぼ皆無と踏んでるので、これくらいシンプルに書いちゃう。 [Patterns] Name = "TS: Hide amazon ad [2008/02/11]" Active = TRUE URL = "(202.212.88.55|techside.in.arena.ne.jp)/*chabo.cgi $TYPE(htm)" Limit = 64 Match = "<table width="600"[^>]+" Replace = "<table style="display:none"" これで、全てのページで動作するのは確認できました。 多分thinkさんは妥協しないでしょうがwもし妥協するならこれでどうでしょう?
535 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:34:48 ID:IsgBG2QX0] いや、ていうかあれか。もうなんでケツに'が付いてると動作しないのかを ひたすら検証する流れになってるのか。なんかくらくらしてきた。 ごめんなさい。俺が悪かったですorz
536 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 20:56:39 ID:MWE86p/20] $NESTに>510のような仕様があったなんて……。 ちょうど対策に困っているフィルタがあるので、ひとつ改善を依頼してみます。 Name = "invisible frames to links1 (2007.06.04)" Active = FALSE URL = "(^$KEYCHK(f))&($TYPE(htm)|$TYPE(js))" Bounds = "$NEST(<frameset,</frameset>)" Limit = 3072 Match = "*(cols|rows)=$AV(" "( (0%|[01])\1 , \2| (^0%|[01])\1 , (0%|[01])\2| (100%)\1 , (0%|[01]|\*)\2| (100%|\*)\1 , (0%|[01])\2) " "((,*)\7$SET(frame3=<p>[more frames found]</p>\r\n)|)" ")" "*<frame\s(([^>]++name=$AV(\3)|$SET(3=no-name)&[^>]++src=$AV((?*)\5)|$SET(5=about:blank)" ")$SET(frame1=<p>[frame - "\3" - \1]<br>\r\n<a href="\5">\5</a></p>\r\n))" "(*<frame\s(([^>]++name=$AV(\4)|$SET(4=no-name)&[^>]++src=$AV((?*)\6)|$SET(6=about:blank)" ")$SET(frame2=<p>[frame - "\4" - \2]<br>\r\n<a href="\6">\6</a></p>\r\n)" ")|$SET(frame2=<p>[frame not found]</p>\r\n))" "(*<frame\s$SET(frame3=<p>[more frames found]</p>\r\n)|)" "*" Replace = "<body class="invisible-frames">\r\n<p>invisible frames found</p>\r\n" "$GET(frame1)$SET(frame1=)" "$GET(frame2)$SET(frame2=)" "$GET(frame3)$SET(frame3=)" "</body>" アクセス性の向上を目的としたフィルタ。 UAに表示されるURLを固定させるために見えないフレームを使っているサイトがあり、 これらのサイトで「戻る」動作をすると、戻りたくない場所まで戻ることがある。 このフィルタは、フレームをアンカー化することにより見えないフレームを可視化する。
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:00:41 ID:2dXZFCkK0] >>534-535 ありがとですっ。 $NESTはなんとなく今回謎の挙動をしたので、$NESTは外した形で、フィルタは>>527 で完璧だと思うのですが、 自分がじっくり見たソースがもとにした新しいフィルタをみるのは勉強になりますね。 >>1 のProxomitron等に関するWiki でマッチングルールとにらめっこしてても、イマイチ理解できないというかどうもさっぱりなのですが、新しく書いてくれたのを見ると 前のと見返して、なるほどと思える部分があっていい感じなのです。 $NESTを使う意味については>>510 で教えてもらったページを読んでもまだしっかりとわかってないのですが_| ̄|○
538 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:02:12 ID:MWE86p/20] 誤爆する例。 内側のframesetにのみマッチすると想定通りの結果が得られるが、 外側のframesetにまでマッチしてしまう。 <frameset rows="89,*" border="1"> <FRAME name="topFrame" height="89" scrolling="NO" noresize marginheight="0" marginwidth="0" src="head.htm"> <FRAMESET rows="50%,0" frameborder="NO" border="0"> <FRAME name="mainFrame" marginheight="0" marginwidth="0" src="main.htm"> <FRAME name="voice" src="voice.htm" noresize scrolling="NO"> </FRAMESET> <NOFRAMES><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES> </frameset> 考えられる対策 ・バイト制限。ただし、根本的な対策にならない。 ・$NESTを使わない。 ・$NESTを使いつつ、条件を改善する。 できれば$NESTを使えるほうが速さを落とさずに済むような気がします。
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:09:17 ID:glm8Ht4E0] $NESTを使えば早くなるという嘘を広めてるのは誰なんだ。
540 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 21:12:05 ID:JVJTtG3g0] >>529 > 全てが一行になってるほかの掲示板では機能しなかったのです。 どうやら、これが原因みたいですね。 >531のHTMLを一行にして、テストウインドウで検証すると興味深い結果になりました。 ■>523のフィルタの場合 - HTMLソースの一部に改行を含むと、マッチする - </table> の直後に ' を挿入するとマッチしない - </table> の直後に改行以外の文字を挿入して、その後「'」を挿入するとマッチしない (例) </table>test' ■回避策 $NEST を $INEST に変更することで、問題を回避できるようです。 [Patterns] Name = "TS: Kill amazon affiliate ad [$INEST] [2008/02/11] test1" Active = TRUE URL = "$TYPE(htm)(techside.in.arena.ne.jp/|202.212.88.55/)*/chabo.cgi(^?)" Limit = 4096 Match = "<table(\s|>)$INEST(<table(\s|>)," "*<a\s[^>]++href=$AV((http://(www.|)amazon.(co.|)jp/([\%0-9a-z~]+{1,*}(-[\%0-9a-z~]+{1,*})+{1,*}/|)" "(dp/[\%~0-9%41-%5a]+{10}/|exec/obidos/ASIN/[\%~0-9%41-%5a]+{10}/|gp/product/[^/]+/)[^/-]+-22(/|)" ")\0)" "*,</table>)</table>" Replace = "<!-- Kill Kill amazon affiliate ad: \0 -->" >>534 > 多分thinkさんは妥協しないでしょうがw 別に対抗意識を燃やしたわけじゃないんだか(ry
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:17:51 ID:IsgBG2QX0] >>540 いやいや、変な挙動をすると原因と対策がわかるまでとことん調べてくれるのは いつもthinkさんなので…。そういう意味で、妥協しない、と。変な意味じゃないんですよ。 いつも勉強になってます。
542 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 21:31:26 ID:JVJTtG3g0] >>531 > 202.212.88.55/ の202.212.88.55ってIPアドレスはTECHSIDE以外でも普通に使われてるアドレスになのかはわかります? Nslookupするとわかりますが、techside.in.arena.ne.jp と 202.212.88.55 は同じ場所です。 なので、202.212.88.55 も独自と見ていいと思います。 ttp://www.cybersyndrome.net/nslookup.html >>536 ,538 内側、外側の両方のframeをアンカー化するのが希望でしょうか? あるいは、内側のみのアンカー化でしょうか。 期待する結果のHTMLがわかれば、力になれるかもしれません。 >>541 あ、いや、ネタとして返した以上の意味はなくて、好意的に受け取ってます。 私はこういう切り返しのセンスがないんですね。 ごめんなさい。
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:35:57 ID:2dXZFCkK0] >>540 何度もありがとうございますっ。 ただ、私のところでは、今回の$INESTをつかったフィルタでも、202.212.88.55/psp/chabo.cgi で、>531の■ おもちゃ&ホビー−トップセラーがでた場合、表面に出てきてしまいました。 Proxomitron側で>531の文字列で最後に ' を入れてテストみても[合致なし]になってしまいました。 >>527 以外だと、最初のものに*を加えただけの>>505 機能してるという謎の状況です。 こんがらかりますね_| ̄|○ でも>>527 を$TYPE(htm)(techside.in.arena.ne.jp/|202.212.88.55/)*/chabo.cgi(^?)に書き換えて機能してるからおっけです(`・ω・´)
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:44:16 ID:2dXZFCkK0] >>542 なるほど。 そうすると、自分でこの一言板群に対してフィルターを作ってみる時も、URLで限定しとけば安心っぽいですね。とはいっても、そうそうフィルターを作ることはないでしょうけど。
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 21:55:21 ID:MWE86p/20] どうも$NESTは速度向上に役立つという固定観念があります。 今回書いたフィルタではframesetの入れ子を解釈する必要があり、 範囲を指定するために$NESTを使っていたことを忘れていました。 >542 内側のframeset内にあるフレームのみアンカー化するのが希望です。 <frameset rows="89,*" border="1"> 外側のframesetはそのままでもフレームが見えるので、マッチさせないようにします。 <FRAMESET rows="50%,0" frameborder="NO" border="0"> 内側のframesetではrows="0"にあたるフレームが見えなくなるので、 マッチさせる対象になります。 >538の場合、期待する結果は以下のようになります。 <frameset rows="89,*" border="1"> <FRAME name="topFrame" height="89" scrolling="NO" noresize marginheight="0" marginwidth="0" src="head.htm"> <body class="invisible-frames"> <p>invisible frames found</p> <p>[frame - "mainFrame" - 50%]<br> <a href="main.htm">main.htm</a></p> <p>[frame - "voice" - 0]<br> <a href="voice.htm">voice.htm</a></p> </body> <NOFRAMES><P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES> </frameset> フレームをすべてアンカー化する方法も考えたものの、 そこまでするといちいちアンカーから移動するのが面倒に感じたので、一応やめました。
546 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:05:34 ID:JVJTtG3g0] >>543 > 今回の$INESTをつかったフィルタでも、202.212.88.55/psp/chabo.cgi で、>531の■ おもちゃ&ホビー−トップセラーがでた場合、表面に出てきてしまいました。 あ、あれ…? $INEST版でも、>531を1行にまとめたコードでもマッチしなくて、「■ おもちゃ&ホビー」が出た場合、表面に出てきてしまいました。 検証不足ですね…。失礼しました。 ちょっと思いついたことがあって試してみましたが、今度こそ当たりっぽいです。 >531の問題発生条件は、2つあって 1. </table> の後ろの「'」がある 2. <table> 内部に「'」を含んでいる というように、2つの「'」が関係しているようです。 >531が 2. で該当しているのは「魔法少女リリカルなのはA's フェイト・テ」ですね。 なので、「A's → As」の変更を加えるだけでも問題を回避できました。
547 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:13:11 ID:JVJTtG3g0] 問題をわかりやすくするために、コードをシンプルにしてみました。 ■テスト用のHTMLソース <test>'</test>' ■テスト用フィルタ [Patterns] Name = "$NEST + ' test1" Active = TRUE Limit = 256 Match = "$NEST(<test>,</test>)" Replace = "Replaced" ■不具合症状 $NESTで本来マッチするはずの状況で、マッチしない ■再現条件 $NESTの第二引数の範囲に ' が存在し、$NESTの後に ' が存在する ■回避策 $NESTの第一引数で ' を消費する。 つまり、 Match ="$NEST(<test>',</test>)" ならば、マッチする。 ただし、入れ子チェックが有効に働かないので、実用的ではない。
548 名前:think ◆MM0nnAOCiQ mailto:sage [2008/02/11(月) 22:16:17 ID:JVJTtG3g0] >547に訂正を入れます。m(_ _)m ■再現条件 以下の2つの条件がそろっている時に再現する。 - $NESTの第二引数の範囲に ' が存在し、$NESTの後に ' が存在する。 - $NESTで消費してから、' が存在する場所まで改行されていない
549 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/02/11(月) 22:25:12 ID:2dXZFCkK0] どもですっ。 条件はそれですねっ。 この板のアマゾンの商品はその日のランキングによってころころ変わるので、今あるほかのランキングでは、ゲームだと、【○ときめきメモリアル Girl's Side 2nd Seaso】がひっかかって表面化するのですが、次はどのジャンルのどんな商品に「'」がくるのかわからないので、 <table>の中に「'」があったら「'」だけを無視する感じならいいかもと思ったのが最初のカキコで書いた>>496 のフィルターの意図だったのです。 それが、なんか記号間違えてたうえに「*」を加えただけでなぜかうまくいったのでさらにこんがらがったのです。