1 名前:ミスターオミトロン [2006/11/13(月) 17:00:32 ID:oCAoIukD0] このスレは作成依頼されたフィルタを有志により作るスレッドPart4です アップローダー wind.prohosting.com/proxmine/cgi-bin/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/ CastleCops Proxomitron Filters www.castlecops.com/f65-Proxomitron_Filters.html >>2-10 にいろいろと
411 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 20:33:19 ID:HkvjeHx70] ようつべの認証が必要なページをスルーする方法ない?
412 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 20:34:32 ID:HkvjeHx70] ちなみに直接flvにリダイレクトすればflv動画保存はできた。 でも動画タイトルとか説明とか載ってるページが見たい
413 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 20:42:55 ID:YSlvBEF80] >>410 387を使ってるけどクリックすると元画像サイズになるよ >>409 文面通りの意味だと Limit 1024 (適当) Match <script\s\0urchinTracker\(\);\1</script> Replace <script \0\1</script> こういう事? もっと深い意味があるのかな
414 名前:名無しさん@お腹いっぱい。 [2007/03/02(金) 20:45:52 ID:fhmIoiDy0] >>413 ありがとう マジですか、俺>>387 、>>390 ともに試したけど全然だめでした もしかして、Javaとかオンじゃないとだめなのかなあ >>410 のはJavaなしでもいけたんだけど、う〜ん もう一度試してきます
415 名前:名無しさん@お腹いっぱい。 [2007/03/02(金) 20:53:36 ID:fhmIoiDy0] だめだ、出来ないorz Firefox使ってるんだけど、もしかしてIE限定かな?
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 20:55:22 ID:YSlvBEF80] >>414 ほんとだ Script Offだと効かないね 387効かないって人が多かったのはそのせいだったのか
417 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 20:56:49 ID:YSlvBEF80] ちなみに私はIEエンジンのタブブラウザですね
418 名前:名無しさん@お腹いっぱい。 [2007/03/02(金) 21:00:20 ID:fhmIoiDy0] >>416 そうなんだ Firefox2.0.0.2でJavaオフ = 普通にホームページに飛ばされる Firefox2.0.0.2でJavaオン = サムネイル画像すら表示されず、なすすべなし(泣) 誰かFirefox用の>>410 のフィルタ作ってくださいm(_ _)m
419 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 21:14:30 ID:RWK0oXTa0] FxならgreasemonkeyいれてGreased Lightbox使った方が便利だと思う GoogleImage以外でも使えるし。
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/02(金) 21:46:35 ID:WUebI47X0] このスレはOperaユーザが多いからそのせいもあるんじゃない?
421 名前:名無しさん@お腹いっぱい。 [2007/03/02(金) 22:51:58 ID:fhmIoiDy0] >>419 Greasemonkeyは入れてるけど、Greased Lightboxってのは初耳です。 さっそく探してきます、ありがとう
422 名前:409 [2007/03/02(金) 23:04:03 ID:KOh5VbwA0] >>413 どうもです。 狙いはその通りで、試してみましたが、 ロード時に読み込まれるので、後ろの</script>が読み込まれる前に urchinTracker()を呼び出そうとするみたいで、 とりあえず、後ろの</script>を削って Match <script\s\0urchinTracker\(\);\1 でやってみたら動いてるようです。 こんな感じでいいんでしょうか?
423 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 00:09:34 ID:kMgiw1TB0] >>422 ん、テストページが無いので良くわからない。 入れ子でおかしくなるかもなので Match $NEST(<script\s[^>]\0+>,\1urchinTracker\(\);\2,</script>) Replace <script \0>\1\2</script> のほうが安全かな。
424 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 06:33:14 ID:KNGGVaeK0] >>422 >>413 を使えばブラウザにurchinTracker();が削除されHTMLたソースが渡されるから urchinTracker();が動くなんてことはありえないよ。
425 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 06:34:55 ID:KNGGVaeK0] ↑フィルターが正しく動いてればの話ね。 limitが足りなかったとかそういう原因かも知れない。
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 06:53:45 ID:UgcnQ/NE0] ttp://dat.2chan.net/l/futaba.htm 上の掲示板への特定のIPからの書き込みを返信の場合はそれのみ 投稿の場合は広告、画像から子ツリーまですべて 痕跡も残さず消せるフィルターを作ってもらえないでしょうか おねがいします
427 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 07:07:54 ID:KNGGVaeK0] ふたばのオミトロンスレ見れよ
428 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 07:13:16 ID:UgcnQ/NE0] 気づきませんでした いってきます
429 名前:409 [2007/03/03(土) 09:31:45 ID:fwIzo8pg0] >>423 >>424 どうもです。 いろいろ勘違いがあったみたいです。 とりあえず以下のようにしました。 まれに urchinTracker(); に引数が入ってるのがあるのでMatchに*を入れてみました。 後はBounds指定ってこれだと意味ないんでしょうか? [Patterns] Name = "Kill urchinTracker" Active = TRUE URL = "$TYPE(htm)" Bounds = "<script($INEST(<script,</script)</script>|*)" Limit = 1024 Match = "<script\s\0urchinTracker\(*\);\1</script>" Replace = "<script \0\1</script>"
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 11:08:29 ID:KNGGVaeK0] inestの使い道が違う。 この場合はnest。 $NEST(<script,\1urchinTracker\(\);\2,</script>) これで十分だからboundsはいりません。
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 19:14:24 ID:7WHuJ2Be0] >>420 Operaなら確かGreasemonkeyいれないで直にGreased Lightbox使えた気がする。
432 名前:409 [2007/03/03(土) 19:43:56 ID:fwIzo8pg0] >>430 ありがとうございます。NESTの件、了解しました。 また別件というか別パターンが出てきました。 <a href="/index.html" onclick="javascript:urchinTracker('/sample/2007/misc/');"> みたいな感じでタグのイベント属性で追加されるパターンがあるみたいです。 なんかこのパターンを考えるとキリが無いのですが、 このパターンも消すとするとフィルターは別途書く必要があるので負荷が高くなるので、 ダミーのスクリプトを入れるフイルターを作った方が良いかと思うようになりました。 <head>タグの直後あたりにスクリプトブロック込みでダミーのurchinTracker()ファンクションを入れる 事で対応しようかと思い、以下の感じで作りましたが、なんか手抜きというか情けないような内容です。 アドバイスいただけますでしようか。 [Patterns] Name = "New HTML filter" Active = TRUE URL = "$TYPE(htm)" Limit = 256 Match = "<head>" Replace = "<head>" "<script type="text/javascript">function urchinTracker(){};</script>"
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 20:41:14 ID:kMgiw1TB0] ひとつのフィルタに纏める事できるよ match欄 matchpattern1 $SET(9=replacepattern1)| matchpattern2 $SET(9=replacepattern2) replace欄 \9 みたいな感じ
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 20:59:36 ID:kMgiw1TB0] 具体的に書くと 例えばこんな感じ。 これだとurchinTrackerの記述のあるscriptタグ全部消しちゃうけど。 Match $NEST(<a\s[^>]++href=$AV(*urchinTracker*),</a>) $SET(9=)| $NEST(<script\s[^>]+>,*urchinTracker*,</script>) $SET(9=) Replace \9 >>432 なんだけど 空の関数の後に実際のソースに実態があれば効かないんじゃない? テストしてないからわからないけど
435 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 21:01:30 ID:NAXtb9SN0] >>432 その方法なら1ページにつき一度のマッチングで済むので$STOPコマンドが使えますよ。
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 21:24:52 ID:jp1tAzDC0] <script\s[^>]+>
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 21:26:50 ID:jp1tAzDC0] 早漏した <script\s[^>]+>って<script>にマッチしたっけか こっちで確認した限りではしないようだが
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/03(土) 21:36:53 ID:pF+sHsLa0] あぁ <script>だけの場合? それは想定外でした。
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 00:06:25 ID:tBx8TrfH0] ↓これじゃだめなの? 400 :名無しさん@お腹いっぱい。:2007/02/25(日) 00:51:04 ID:SRmz9w6X0 >>391 ADListに www.google-analytics.com/urchin.js を追加。
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 00:19:46 ID:73lxeMGz0] これがONになっているとアマゾンで検索したときに画像が出ません。 どうしてですか? Name = "Banner Blaster (limit text)" Active = TRUE Multi = TRUE Bounds = "<a\s[^>]++href=*</a>|<input*>|<ilayer*</ilayer>|<iframe*</iframe>|<object*</object>" Limit = 900 Match = "(<(ilayer|iframe|object)*|\1<i(mg|mage|nput)*src=$AV(*)*>\3)" "&(*(href|src)=$AV($LST(AdKeys)*)|" "**<i (mg|mage|nput)\s(*>&&" "(*width=[#460-480]&*height=[#55-60]*)|" "(*width=[#88]&*height=[#31]*)))" "&(*alt=$AV((?+{18})\2*|\2)|$SET(2=Ad))"
441 名前:409 [2007/03/04(日) 01:13:16 ID:9b7LgS8o0] >>434 本物の関数は常に別ファイルで読み込まれるので、AdlistでBlockしてます。 >>435 どうもです。 HEADなんで$STOPは効果的ですね。 >>439 それだけだと、関数の呼び出しが残っているので、 Javascriptエラーが毎回でるので。 結果はこんな感じでにしました。 [Patterns] Name = "Kill urchinTracker" Active = TRUE URL = "$TYPE(htm)" Limit = 256 Match = "<head*>$STOP()" Replace = "<head>" "<script type="text/javascript">function urchinTracker(){};</script>" このフィルターは他人の所に足跡を残したくないのではなくて、 自分が管理してるサイトの分析に自身のアクセス記録を入れない為なので、 実際にはURLには実サイト名が入ってます。 Googgle Anlytics側にもフィルターがあるのですが、 出先で内容を確認したりする時のまでフォローしきれないので。
442 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 07:26:16 ID:2pUUjDDU0] OperaでUAがMozilla含まれてないからこれでUA変更してるんだけど バージョン変わるたびに修正するの面倒だから変更するときに 変更元のUAのバージョンつけられないかな? 今こんな感じの設定 key:User-Agent: Opera 9 (out) URL: Match:Opera Replace:Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; U; ja) Opera/9.10
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 13:29:48 ID:hlyDBHQO0] [HTTP headers] In = FALSE Out = TRUE Key = "User-Agent: Opera (out)" Match = "Opera/\0(\s|(^?))" Replace = "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1; U; ja) Opera/\0"
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/04(日) 13:41:01 ID:2pUUjDDU0] >>443 ありがとうございます〜
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 23:25:27 ID:4aRF74xu0] www.jtw.zaq.ne.jp/animesong/ ↑のサイトの歌詞を表示してるページで コピペや右クリックができるフィルタ希望です
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 23:36:20 ID:E9YpSH1g0] 華麗にスルー
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 23:41:29 ID:2RxO/zSP0] www.jtw.zaq.ne.jp/animesong/y.js への接続を遮断するだけ
448 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/05(月) 23:42:34 ID:gh6EZIJM0] >>445 from <BODY BGCOLOR="#CCFF99" onselectstart="return false" oncontextmenu="return false"> to <BODY BGCOLOR="#CCFF99" onselectstart="return true" oncontextmenu="return true">
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/06(火) 12:11:59 ID:iB1jvKZy0] 任意のタグ群から任意の要素群を除去するフィルタを書いてみた。 とりあえずはbodyとimgからoncontextmenu, onselectstaart, oncopyを除去できる感じに。 ひどいスパデティ状態だけど要は<body >みたいなスペースが入らないようにしたかったので。 [Patterns] Name = "oncontextmenu deleter" Active = TRUE Limit = 256 Match = "$NEST(<(body(^(^\s))|img(^(^\s)))\#,((\s|)on(contextmenu|selectstart|copy)=$AV(*)|((\s|)[^=\s]+(=$AV(*)|))\#)+,>)" Replace = "<\@>"
450 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/06(火) 12:13:41 ID:iB1jvKZy0] 書き忘れてたけどサンプル before : <body onselectstart="return false" oncontextmenu="return false" bgcolor="#ccff99"> after : <body bgcolor="#ccff99">
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/06(火) 14:43:34 ID:9zhYO6rw0] Firefox のように、ブラウザ側で コンテキストメニューを強制的に使用可能にする手もある。フィルタ不要だし。
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/06(火) 19:03:44 ID:mTAaejSY0] >>449 要望者ではないがGJ
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/06(火) 20:12:47 ID:5wFR0ABi0] >>449 恐ろしく細かなところなんだが JISコードのページで「alt="連携"」と言う文字が含まれてたりするとダメだよね? 2バイト目が「"」とかの文字だと$AV系は誤爆するから
454 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/06(火) 20:57:29 ID:74I35w2I0] >>449-450 そのフィルタは <body bgcolor="#ccff99"> にもマッチしてしまう問題を持っていますね。 ((\s|)[^=\s]+(=$AV(*)|))\# を (([^>]++)\#\son(contextmenu|selectstart|copy)=$AV(*))+{1,*} に変更してはどうでしょうか? [Patterns] Name = "oncontextmenu deleter type2 [2007/03/06]" Active = TRUE URL = "$TYPE(htm)" Limit = 256 Match = "<(body|img)\#(^(^\s))" "(([^>]++)\#\son(contextmenu|selectstart|copy)=$AV(*))+{1,*}" Replace = "<\@"
455 名前:名無しさん@お腹いっぱい。 [2007/03/06(火) 22:42:58 ID:+rFDbjSB0] Proxymoitronのフィルターなんですけど 以下のレスを参考にしたんですが、 もう少しキレイにするならどうしたらいいでしょう。 >【デボジット】Google AdSense初心者スレ 8PIN目 >pc9.2ch.net/test/read.cgi/affiliate/1171772889/370 > >370 名前:クリックで救われる名無しさんがいる[] 投稿日:2007/03/05(月) 08:17:45 ID:5uG+lPlH0 >こんなの見つけたんだけど便利かな? >ttp://isawseashell.blogspot.com/2007/02/adsense.html > >俺にはちょっとハードル高いんだけど、安心感が得られるならやろうかと思ってる。 [Patterns] Name = "Adsense" Active = TRUE URL = "*.googlesyndication.com/$TYPE(htm)" Limit = 1024 Match = "<a\s\0href="*123456789012" Replace = "<a \0 href="about:blank" これでやると、about:blank&nm=13 みたいに about:blnakの後ろにパラか残ってしまうんです。 実際のURLは pagead2.googlesyndication.com/pagead/iclk?sa=l&ai=&num=1&adurl=http://hoge.hoge/&client=ca-pub-123456789012&nm=17 みたいに入ってきてるんですが、タグ全体がフレームの中なので見えなくて どうやったら調べたりしたらいいかわからず困ってます。
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/06(火) 23:18:09 ID:ToBVIAPe0] マッチの部分をhref=$AV(*12345678912*) にすりゃいいのでは。about:blnakはともかくProxymoitronってなんやねん。
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 17:22:42 ID:/8mO2Jfl0] $NEST(<a\s(*href=$AV(\1)*|)&(*title=$AV(\3)*|)&(^(*(href|title)*)\7|)[^>]+>,\0,</a>) aタグのhrefとtitleの値を\1,\3に順不同で入れるのには成功したんですが、 それ以外のものを\7に入れる事ができません。 とりあえず(^(*(href|title)*)\7|)としてますが効きません。 助言お願いします。 ソース例 <a href="/aaa/bbb/ここは1に" title="これは3に" class="これは7に">ここは0に</a>
458 名前:449 mailto:sage [2007/03/07(水) 18:08:54 ID:JUv0ENxk0] 思ったよりも反響があったようでビックリ。 >453 なるほど、そういうケースもあり得るのでしたら汎用フィルタとした使うためには手を加える必要がありますね。 手っ取り早いのは$AV(*)を使う代わりに [^=]+=[^ ]+ とすることでしょうか。 これでもまだ誤爆例がありましたら教えてください。 #ところで今までずっと[^\s]としていたのですがこれは大きな誤りであると分かりましたorz >454 確かに、例えば <body> で終わらない全てのbodyタグに(極端な例では<body >にも)マッチしますが、そこに何か問題があるとは思えません。 <body bgcolor="#ccff99"> を挙げれば、それ全体を\#に代入して<\@>で出力しているので一見してムダではありますが。 そこで試しにプロファイルで速度比較をしてみました。 私のver1とthinkさんのver2では、ver2がver1の1.5倍多くの時間が掛かるようです。 <img alt="hogehoge" src="hogehoge.jpeg"> を29986バイト分だけコピペしたサンプルでの計測です。 <img alt="hogehoge" src="hogehoge.jpeg" oncopy="hogehoge"> とした場合も速度比はほぼ同じでした。 もしマッチングさせたくないという場合にはver2を選択すると良いでしょう。
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 18:16:46 ID:eYPYjnoZ0] 肝心の445が出てこない件
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 18:23:04 ID:JUv0ENxk0] >457 目的がよく分からなんのですが、\1と\2と\3と\0に属性値を入れるわけですね。 \1はhrefに対応しなければならないんですか? たいていの場合は必ずしもそういう対応関係を成り立たせなければならないわけではないと思いますが。 例えば (href|title|((^(href|title)[^=])+))\1=$AV(\2) \s (href|title|((^(href|title)[^=])+))\3=$AV(\4) \s (href|title|((^(href|title)[^=])+))\5=$AV(\6) とでもすれば\1と\2や\3と\4はセットなので、何が入ろうともかまわないということになります。 これで問題があるかはフィルタで何をしたいかによります。 ちなみにアスタリスク"*"をそういうふうに使う場合は aタグを$NEST()で独立させたほうが良いです。 $NEST($NEST(<a\s,*hogehoge*,>),\0,</a>) もう一度フィルタの目的をよく考えてから作り直しては?
461 名前:449 mailto:sage [2007/03/07(水) 18:28:11 ID:JUv0ENxk0] >458について日本語のミスがありましたorz >私のver1とthinkさんのver2では、ver2がver1の1.5倍多くの時間が掛かるようです。 1.5倍の時間が掛かる、もしくは0.5倍多くの時間が掛かる、に訂正します。 例えばver1で2sec要する場合にver2はおよそ3sec要します。
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 18:36:28 ID:/8mO2Jfl0] >>460 目的はtitle欄にhref以下のurlその他をぶち込んでマウスを当てると見えるようにするためです。 ORで分岐すると順不同(hrefの前にtitleが来たり)のとき面倒なので&を使ってます。 ですから>>457 の場合だとreplece欄でtitle="\1 \3"みたいに続けて記述します。
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 18:46:47 ID:JUv0ENxk0] >462 つまりtitle要素があれば中身をhrefで書き換え、title要素がない場合はtitle="href属性値"を追加するということ? 言い換えればtitle要素があれば除去し、title="href属性値"を追加する、とでもすればうまくいきそうですな。 やり方はいくつもあると思うけど私ならこうやります。 その場合は&を使うよりはスタックを使ったほうがよさそうです。
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 18:57:41 ID:JUv0ENxk0] チープな>449の焼き回しですが、一例として マッチ欄 $NEST(<a(^(^\s)),(\s(title=$AV(*)|href=$AV(\0)|([^= ]+=$AV(*))\#))+,>) 置換テキスト <a href="\0" title="\0" \@) サンプル例 before : <a href="ljilfejalfejla" src="ljfiejlajflea" title="fea.fae"> after : <a href="ljilfejalfejla" title="ljilfejalfejla" src="ljfiejlajflea")
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 19:06:34 ID:/8mO2Jfl0] >>463 あらかじめtitleの無い場合は,titleにhrefを入れます。 titleのある場合は、既にあるtitle+hrefにします。 具体的には <a href ="\1" title="\3 \1" \7>\0</a> 3は既にあるタイトルで空の場合もとりあえず入れときますw 記述してくださった$NESTの入れ子を試してみたところ7にその他のものが入ってくれました。 $NEST($NEST(<(a|area)\s,(*href=$AV(\1)*|)&(*title=$AV(\3)*|) \7,>),\0,</a>) ただこれだと\7に既にあるhrefやtitleも入ってしまいますが <a href ="\1" \7 title="\3 \1" >\0</a> こうすれば大丈夫みたいです。 ありがとうございました。
466 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/07(水) 19:37:31 ID:O0RWiz+R0] >>456 > そこに何か問題があるとは思えません。 "oncontextmenu deleter" でマッチすると、他のフィルタで <body> にマッチしなくなるという問題がありますが、"oncontextmenu deleter" を優先するなら些細な問題かもしれませんね。 アプローチの仕方が違うだけとも言えるので、好みの問題だと思います。 > 私のver1とthinkさんのver2では、ver2がver1の1.5倍多くの時間が掛かるようです。 検証お疲れ様です。 >454は読み取るバイト数が少ないので、速いと思っていましたが $NEST の方が速くなるんですね。 せっかくなので、速度重視で最適化してみました。(下記の状況で、+{1,*} が効かない理由は解りません) [Patterns] Name = "oncontextmenu deleter type3.1 [2007/03/07]" Active = TRUE URL = "$TYPE(htm)" Limit = 256 Match = "$NEST(<(body|img)\#(^(^\s))," "\#\son(contextmenu|selectstart|copy)=$AV(*)" "(\#\son(contextmenu|selectstart|copy)=$AV(*))+" "\#,>)" Replace = "<\@>" ところで、>454で示したフィルタは "type2" であって、「最新のフィルタ」として掲示したわけではないですよ。(^^; 449氏の作成したフィルタを引き継いで改良したなんて、おこがましいことは言えません。 私の経験,ポリシーに則って作成した別のフィルタだと思っています。
467 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/07(水) 20:02:01 ID:JUv0ENxk0] >466 一度マッチした部分にはほかのフィルタはマッチしないというのは不覚にも知りませんでした。 ちょっとしたテストをしてみましたが、確かにそのようです。 フィルタ同士でループしないようにとのことでしょう。 こうだと分かると何でもかんでもマッチングしてしまう>>449 のフィルタは曲者ですね。 thinkさんの>466が正当な改良版だと思いますよ。 >456の段階では単にver違いという意味で書いたのですが。
468 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/07(水) 23:41:26 ID:O0RWiz+R0] >>467 > 一度マッチした部分にはほかのフィルタはマッチしない これは下記URLの「再帰的なマッチングを使う方法」を読むと、よく理解できると思います。 Tips and Tricks ttp://www.pluto.dti.ne.jp/~tengu/proxomitron/help/Tips_And_Tricks.html > >456の段階では単にver違いという意味で書いたのですが。 それは失礼しました。 ただ、ver違いというニュアンスだと後継版と受け取られがちなので、念のため釈明させていただきました。
469 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/07(水) 23:43:05 ID:O0RWiz+R0] >>465 仰ることが正確に掴めていませんが... > $NEST($NEST(<(a|area)\s,(*href=$AV(\1)*|)&(*title=$AV(\3)*|) \7,>),\0,</a>) > <a href ="\1" \7 title="\3 \1" >\0</a> どちらの表現でも、 <a id="test" title="string" href="URL"> のHTMLソースにマッチしないという問題が残っているようです。 >464の表現を使い回しするとこれに対応できますが、「全てのa要素にマッチしてしまう」という問題がまだ残ります。 HTML4.01仕様書によれば、 ------------ ユーザエージェントは、CDATA型属性値の、冒頭あるいは末尾の空白文字を無視してよい。 (例えば「 myval 」を「myval」として解釈してよい。) 著者は、冒頭あるいは末尾に空白文字のある属性値を宣言することを避けるべきである。 www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/types.html#type-cdata ------------ とあり、空白文字のみの属性値によるUAの動作を明示していません。(「してよい」は「しなくてもよい」とも受け取れる表現だからです。) 可能なら、「空の属性値」「空白のみの属性値」は避けるべきだと思います。
470 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/07(水) 23:52:20 ID:O0RWiz+R0] >469の続き。 この条件なら二重に$NESTを使うまでもなく、</a> までマッチさせずとも、<a> の開始タグのみにマッチさせるだけで十分だと思います。 期待する動作を、「href属性のあるa要素があったとき、title属性にhref属性値を挿入する」とすると。 [Patterns] Name = "Insert <a> title [2007/03/07] test2" Active = TRUE URL = "$TYPE(htm)" Limit = 256 Match = "$NEST((<a(rea|)\s)\#(^(^[^>]++href=$AV(\0)))," "(\#)title=$AV(\1)$SET(2=\1 \0)\#|" "$SET(2=\0)\#" ",>)" Replace = "\@ title="\2">" (^(^[^>]++href=$AV(\0))) は & に読み替えてもらっても構いません。 (\#) は置換スタックのバグ回避のための暫定措置です。 ttp://abc.s65.xrea.com/prox/wiki/MatchingRules/#stack-bug | と $SET を組み合わせているのは、title属性値の先頭に空白を含めないためですが、title属性値を格納した変数を $TST で判定して分岐させてもよいかもしれません。
471 名前:457,462,465 mailto:sage [2007/03/08(木) 00:30:23 ID:yKKFo5Ex0] >>469-470 まだ理解してませんが、参考になります。 titleにあらゆる属性をつっこもうとしてまして (例えばaタグの後にimgタグが来た場合のhrefも)。 470を検討してみます。ありがとうございます。
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 00:45:41 ID:4XFeP5Uk0] aタグ内にimgがある場合に対応させようとするなら↓のようにすればいいよ $NEST($NEST(<a\s,*hogehoge*,>), \0((<img[^>]++src=$AV(\3)[^>]+>)\1\2|), </a>) で置換部分は <a>\0\1\2<\a> とすれば良いし、srcの属性値は\3に入っている。 >(例えばaタグの後にimgタグが来た場合のhrefも)。 但し、これをhrefじゃなくてsrcのことだと解釈しての話。 *hogehoge* を>470に置き換えればそのまま動くはず。
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 00:54:47 ID:yKKFo5Ex0] >>472 ありがとう。やってみますね。
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 01:16:31 ID:7b1HZB3B0] ぶった切ってすみませんが、YOUTUBEで再生のデフォルトを、 全画面にするフィルター(リンク追加でもかまいません)がもしできたらお願いします。
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 07:26:27 ID:2LOjLWQX0] >>474 [Patterns] Name = "YouTube fullscreen" Active = TRUE URL = "$TYPE(htm)(www.|)youtube.com/watch\?" Limit = 256 Match = "<!DOCTYPE$SET(0=<!--)" "|" "-->" "|" "new\sSWFObject\(\"/player2.swf\?(video_id=[^"]+)\1\"" "$SET(0=--><meta http-equiv="refresh" content="0;url=www.youtube.com/player2.swf?\1">\k )" Replace = "\0"
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:21:59 ID:vBpwNiv90] ところで>>445 のフィルタまだ?
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 16:52:03 ID:BEkyhjCe0] JavaScriptをOFFにすればいいんじゃね?
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 18:34:06 ID:2LOjLWQX0] >>476 超適当だけど一応作ってみた [Patterns] Name = "www.jtw.zaq.ne.jp/animesong/ kasi kopipe" Active = TRUE URL = "www.jtw.zaq.ne.jp/animesong/" Limit = 256 Match = "<script type="text/javascript" src="../../y.js"></script>" "|" "<NOSCRIPT><META HTTP-EQUIV="Refresh" CONTENT="0;URL=index.html"></NOSCRIPT>" "|" "on(selectstart|contextmenu)="return false""
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 19:18:02 ID:K/9AXNBV0] >476 ttp://www.kenichimaehashi.com/kmsoftlab/lyricsmaster/
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:09:23 ID:yKKFo5Ex0] >>470 ,>>472 を使ってあれこれいじってましたが $NESTを使うと<img*>の記述のある場合と無い場合でうまくいかなかったので 単純にして全部作り直してしまいました ;; リンクをクリックすれば_selfで、右に出るblanktab.gifをクリックすれば_blankで開きます。 (blanktab.gifはなんでもいいです) >>470 ,>>472 はかなり参考になりました。またよろしくお願いします。 おかしなところ多々あると思いますが、以下source
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:11:26 ID:OXZVhBSr0] \(^^)/ ←ソース
482 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:11:58 ID:yKKFo5Ex0] Name = "Insert title & blankGIF [2007/03/08]" Active = TRUE Bounds = "<(a|area)\s[^>]+>(^(\>|click here|<dd>|ID:))*</a>" Limit = 2048 Match = "<(a(rea|))\9\s(*(*href=$AV(\1)*|)&(*title=$AV(\2)*|) *)\5[^>]+>" "\7((<img\s(*src=$AV(\3)*|)&(*alt=$AV(\4)*|) *[^>]+>)\6|)" "</(a(rea|))>" Replace = "<\9 target="_self" \5 target="_self" title="[URL]\1\r\[TITLE]\2\r[SRC]\3\r[ALT]\4">\7\6\8</\9>" "<\9 target="_blank" \5 target="_blank" title="[URL]\1\r\[TITLE]\2\r[SRC]\3\r[ALT]\4">" "<img border="0" src="Local.ptron/blanktab.gif" alt="[URL]\1\r\[TITLE]\2\r[SRC]\3\r[ALT]\4"></\9>"
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/08(木) 23:13:17 ID:yKKFo5Ex0] >>481 間違えました
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 01:00:08 ID:bjxVpHmZ0] 誤爆ありまくりなので$NESTつけました・・ Name = "Insert title & blankgif set [2007/03/08]" Active = TRUE Bounds = "<a(rea|)\s[^>]+>(^(\>|click here|<dd>|ID:))*</a(rea|)>" Limit = 1024 Match = "$NEST(<(a(rea|))\9\s,(*(*href=$AV(\1)*|)&(*title=$AV(\2)*|) *)\5,>" "\7((<img\s(*src=$AV(\3)*|)&(*alt=$AV(\4)*|) *[^>]+>)\6|)" "</(a(rea|))>)" Replace = "<\9 target="_self" \5 target="_self" title="[URL]\1\r\[TITLE]\2\r[SRC]\3\r[ALT]\4">\7\6</\9>" "<\9 target="_blank" \5 target="_blank" title="[URL]\1\r\[TITLE]\2\r[SRC]\3\r[ALT]\4"> "<img border="0" src="Local.ptron/blanktab.gif" alt="[URL]\1\r\[TITLE]\2\r[SRC]\3\r[ALT]\4"></\9>"
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 02:11:39 ID:3Cl7ivfL0] 自分で考えてフィルタを作りたいならもう少しプログラミング(論理学でもいい)の基礎を勉強したほうがいいよ。 もしくはほかの人がこれまでに書いてきたものを読んで理解したほうがいい。 例えば <a(rea|)>...</a(rea|)> としたんじゃ <a>...</area> にも <area>....</a> にもマッチするし、たぶんそれは意図していないマッチングだろう。 もう一つだけど最初のうちはアスタリスクを乱用しないほうがいい。 初心者にとってのアスタリスクというのはおそらく面倒なことをブラックボックスに詰め込んでどっかにやるためのツールなんだろうけど それじゃ何も上達しないし理解もすすまないだろう。 >(*href=$AV(\1)*|)&(*title=$AV(\2)*|) これなんかはアスタリスク乱用の好例だね。 やりたいことはhrefがあればその属性値を\1に代入し、titleがあればその属性値を\2に代入する、ということなんだろうけど hrefとtitle以外の属性値をすべて無視してしまえば、もっとシンプルな場合わけができるはずだ。 <a>, <a href>, <a href title>, <a title>, <a title href> というように。 あとはこのスペースを[^>]++で置き換えてやればhrefとtitle以外の属性値を上手に無視することができる。 例えばこうなる。 <a\s ([^>]++href=$AV(*)([^>]++title=$AV(*)|)[^>]+>|[^>]++title=$AV(*)([^>]++href=$AV(*)|)[^>]+>|[^>]+>) #これは<a>にはマッチしないけど、現実的にはそれでも問題はないだろう。 >(*href=$AV(\1)*|)&(*title=$AV(\2)*|) は初心者の好むブラックボックス化で ><a\s ([^>]++href=$AV(*)([^>]++title=$AV(*)|)[^>]+>|[^>]++title=$AV(*)([^>]++href=$AV(*)|)[^>]+>|[^>]+>) は論理的思考にある程度慣れた人が好むブラックボックス化だと考えてくれてもいいと思う。(優劣の問題にあらず) 論理学的には中身はまったく一緒だけどよりシンプルでより破綻しづらいのは後者。 { (A|B)&(C|D) = (AC|AD|BC|BD) } Proxomitronでのアスタリスクは賢い上に速度も最速な便利な道具だけど慣れるまでは上記のようなスタンスで取り組んだほうがいい。 高速化チューニングはその後からやってもいいんだから。
486 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 02:47:07 ID:3Cl7ivfL0] 属性値と要素を混同している部分があるけど、適宜読み替えてほしい。 <a(rea|)>...</a(rea|)> について。 残念ながらProxomitronの仕様ではこれに多少の修正を加えることで「意図」通りに動かすということはできない。 方法は二つ。 一つは括弧を閉じないやり方。 Proxomitronからすれば一番合理的なやり方だけど、人間からすれば読みづらいしフィルタサイズが大きくなるわ追加・修正が面倒だわ。 <a(rea...>...</area> | ...>....</a>) もう一つはTSTを利用するやり方。 <a(rea...>(\1)<\area> | ...>(\1)<\a>)$TST(\1=foobar) これなら人間にとって把握しやすいし修正が楽になるというメリットがある。 後者は同じようなことをANDやBoundsを使って表現することもできる。 ANDとBoundsとTSTでどれが一番早いかは……不明。
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 03:15:52 ID:3Cl7ivfL0] 簡単なテストでANDとDOUBLEANDとTSTの速度比較をしてみた。 AND : <a\s([^>]+>&href=$AV(*)) TST : <a\s([^>]+)\0>$TST(\0=*href=$AV(*)*) DAND : <a\s([^>]+>&&*href=$AV(*)*) フィルタとしては考え得る限りで同一の動作をすると思う。 結果から言うと所要時間は AND ≒ DAND < TST でした。 TSTが一番遅いだろうとは思ってたけどANDとDANDがほぼ同じというのは少し意外。 #もちろんサンプルによっては結果は異なると思うので、本来なら色々なサンプルでテストしてみるべきところだが #今回は二つのサンプルでほぼ同一の結果(所要時間の比率)を得たのでよしとした。 AND/DANDとTSTの速度差は数回の平均を取った場合で0.7%。 ANDとDANDの差は誤差範囲内。 ちなみに <a\s[^>]++href=$AV(*)[^>]+> は上記三つの約7倍の速さだった。 [^>]++をアスタリスクに置換すると更に6%早くなった。(但しこのアスタリスクの使い方は非推奨) 長い文字列に対しては$NESTを使うことで更に早くなる場合もあるがそれはケースバイケース。
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 04:45:32 ID:hFs8erHf0] ニコニコ動画から直接.flvをDLできるフィルタきぼん
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 05:15:16 ID:edKiCEkR0] 間接キスでガマンして
490 名前:名無しさん@お腹いっぱい。 [2007/03/09(金) 05:36:25 ID:TLLxfe8n0] 素人な人は、ここで質問して作ってもらったフィルターは、すぐに試さない方がいいかもしれない。 半日程度寝かして、否定的なコメントが出ないぐらいまで待った方が良いかもね。 とんでもないスクリプトを混ぜられるかもしれん。
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/09(金) 07:20:42 ID:bjxVpHmZ0] >>485-487 どうも 作成途中の段階で冗長になりすぎてわけがわからなくなったので 全部おじゃんにして作り直して出来たと思った途端に半端なまま UPしてしまいました。 出直します..
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 03:18:00 ID:uXHetq1x0] <a(rea|)>...</a(rea|)> についてすっかり忘れていたことがあったので追記します。 >残念ながらProxomitronの仕様ではこれに多少の修正を加えることで「意図」通りに動かすということはできない。 これはまったくの誤りで実はもう一つの(比較的小規模な修正で意図通りに動かせる)方法がある。 第三の方法は変数をフラグとして用いてOR関数で分岐させるというもの。 例: <a(\s$SET(flag=0)|real\s$SET(flag=1))[^>]+>*<($TST(flag=0)/a|$TST(flag=1)/area)> 但しこの手法ではローカル変数は使えないので、グローバル変数を使うことになるが使用後に解放することを忘れずに。 解放のやりかたは不要になった段階で$SET(flag=)というように空でSETすれば良い。 グローバル変数自体は基本的にほかのフィルタに値を渡すために使うためのもので、フラグとして使うというのはトリッキーな部類に属すのだが Proxomitronの仕様上、ローカル変数をフラグとして利用することができない(一度使ったローカル変数をマッチ欄で再度使うことができない)ので仕方がない。
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 03:35:34 ID:650fW3oU0] ttp://vipup.org/ このサイトの広告を消すフィルタを作っていただけないでしょうか。よろしくお願いします。
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 04:37:51 ID:Q+Oc8G1J0] Name = "3d>>>2 d" Active = TRUE URL = "$TYPE(htm)vipup.org/" Limit = 256 Match = "$NEST(<a\shref=$AV(click.t2z.jp/* ),</a>)|" "<a\shref=$AV(ofuda.cc/ )*</a>"
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 06:38:33 ID:650fW3oU0] >>494 遅くなりましたが、ありがとうございます。
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 08:02:57 ID:pr+9tzs+0] firefoxのadblockplusで^click\. とofuda.cc/を弾いてる漏れには無縁
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 10:08:04 ID:FcJ4cSpA0] オミトロン入れてるのにadblockplusとかアホちやうかと思う。
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 10:57:17 ID:v1L9WvH00] >>492 一生懸命なとこ申し訳ないけど、日本語訳ヘルプサイトのマッチングコマンドページの $TSTの説明文のところにそれと同じことをローカル変数で実現する例が載ってる。 あとその方法でやるなら$TSTはもっと後ろに置くべき。 </a>、</area>の後ろで。 >>470 置換スタックに代入するためだけに先頭の<aを()で囲うのは 処理速度の低下になるから高速化に拘るのであれば避けるべき。
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 14:15:10 ID:uXHetq1x0] >498 $TST(\0)の存在を完全に忘れてた。使い所はまだあまり思い浮かばないけど参考になったよ。 <([a-z]+)\1*</$TST(\1)> すごく……スマートです。 >置換スタックに代入するためだけに先頭の<aを()で囲うのは >処理速度の低下になるから高速化に拘るのであれば避けるべき。 該当部分を $NEST(<a(\s|rea\s)\#, .....) に変えて 置換テキストの先頭に <a を加えたほうが良いということ? 前後での速度変化は検知すら不可能な気がするけど調べてないから何とも言えない。 しかし個人的には修正するときに弄る箇所が多くなる可能性があるフィルタというのは使い勝手がよくないと思う。
500 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 14:16:49 ID:nGbrcGZM0] myspace(例えばwww.myspace.com/hellogoodbye )で 一番上に出る"今週のお勧めアーティスト"のバナーを消したいのと、 おそらくインターネットオプションの言語が日本語だと メニューが中途半端に日本語になるのがいやなのですが(英語のままがいいです)、 フィルターで解決できますでしょうか? もしできるのであればどなたか作っていただけませんか? よろしくおねがいします。
501 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/10(土) 14:58:13 ID:iZYl65vB0] >>498 > 置換スタックに代入するためだけに先頭の<aを()で囲うのは処理速度の低下になる 今回はa要素かarea要素かを覚え込ませる必要があるので、置換スタックを使わざるを得ませんでした。 (rea|) で変数に格納した方が望ましいということでしょうか?
502 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/10(土) 15:00:25 ID:iZYl65vB0] ところで、何の前提も無しに私がフィルタを作成しようと思ったら、$NESTは使わないと思います。 $NESTを使用すると、最小限のマッチが実現しにくくなる(マッチしなくても良いところまでマッチする)場合があり、今回はその状況なので…。 [Patterns] Name = "Insert <a> title [2007/03/10] test4" Active = TRUE URL = "$TYPE(htm)" Limit = 256 Match = "(<a(rea|)\s)\#(^(^[^>]++href=$AV(\2)))" "(([^>]++)\#title=$AV(\1)$SET(#=title="<a title>: \1\r\n<a href>: \2)|" "$SET(#=title="<a href>: \2))" "(" "[^>]+>(^<img\s[^>]++title=)" "(<img\s(" "[^>]++src=$AV(\3)$SET(#=\r\n<img src>: \3)&" "([^>]++alt=$AV(\4)$SET(#=\r\n<img alt>: \4)|)" ")|)" ")\9" Replace = "\@"\9" ---- サンプルソース <a id="a_id" title="a_title" href="a_href"><img alt="img_alt" src="img_src" title="img_title" /></a> <a id="a_id" title="a_title" href="a_href"><img alt="img_alt" src="img_src" /></a> <a id="a_id" title="a_title" href="a_href">text</a> IE7とSyleraで検証したところ、img要素のtitle属性が存在するときは、img要素のtitle属性がツールチップに表示されるようです。 そのため、img要素のtitle属性が存在する状況ではマッチしないようにしてあります。 どうせなら、img要素用のフィルタがあっても良いかもしれません。
503 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/10(土) 15:06:46 ID:iZYl65vB0] >502の続き。 「最小限のマッチ」を最優先で考えるならば、>502のフィルタは \9 ではなく「肯定先読み」を使うべきですが、それでは置換スタックに該当テキストが代入されませんでした。 仕方がないので、ローカル変数で代替えしていますが、他に良い手段があれば改善したい部分です。
504 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/10(土) 17:25:14 ID:S0lPbdUa0] ニコニコ動画から直接.flvをDLできるフィルタきぼん
505 名前:think ◆MM0nnAOCiQ mailto:sage [2007/03/10(土) 17:52:21 ID:iZYl65vB0] >>325 遅レスですが、作成したのを忘れていました。(汗) [Patterns] Name = "Mooter: Kill ad [2007/02/09] test1" Active = TRUE URL = "$TYPE(htm)www.mooter.co.jp/moot/\?" Limit = 2048 Match = "$NEST(<td[ >],[^>]++bgcolor=$AV(*)*<div\s[^>]++id=$AV(sponsor)*,</td>)" "$SET(0=\r\n<!-- Kill Mooter ad -->\r\n)|" "<div(^(^\s[^>]++id=$AV(sp)))$SET(0=<div style="display: none")$STOP()" Replace = "\0" 参考までに、どんな時に「Mooter」で検索するのか、聞かせていただけると嬉しいです。
506 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 01:45:50 ID:QC5rXZw90] みなさんのアドバイスをいただきたいです。 proxo.hp.infoseek.co.jp./cgi-bin/sn_uploader/src/pr0071.txt 相対リンクを絶対リンクに直すリストを作ったのですが、思ったように動きません。 相対リンクなら絶対リンクに直し、絶対リンクならそのままにグローバル変数ABSにURLを格納するのですが それを正しく呼び出すことができません。 $SET(ABS=\8\9) のようにセットしているのですが $GET(ABS)と\8\9が一致していないということです。 置換テキストで $GET(ABS) の代わりに\8\9を使うとこちらの環境では大部分のウェブサイトで動作を確認できました。
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 02:41:41 ID:LLusi//q0] パスを変換するフィルタはときどき話題になるけど、面倒な問題だと思う。 自分も以前考えたことがあったけど、 わざわざパスを変換しなくても目的さえ達成できればいいかと考えて、 まったく別の見方からフィルタを書くことで解決した。 パスを書き換えることが本当に必要なのかを考え直すのも手だと思う。
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 02:45:15 ID:woTiePuf0] >>502 457ですが ありがとうございます。
509 名前:498 mailto:sage [2007/03/11(日) 14:17:22 ID:LSOWJrEn0] >>499 >>501 >置換テキストの先頭に <a を加えたほうが良い >(rea|) で変数に格納した方が望ましい そうです。 でもこれは’高速化を重視する場合は’という条件での 話なので必ずこう書かなければいけないということではないです。 >>470 は高速化のために$NESTを使ってると思ったので>>498 のレスを 付けたんですが、>>502 を読むとどうやら違ったみたいです。 こちらの勘違いだったようなのですみませんが忘れて下さい。
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/03/11(日) 15:31:59 ID:LSOWJrEn0] >>503 (^(^$SET(#=…)))は使えないようですね。 (^(^$SET(ローカル変数=…)))は動いたのでこれで代用してはいかがでしょうか。
511 名前:名無しさん@お腹いっぱい。 [2007/03/11(日) 17:50:01 ID:0EO6G7xs0] title要素内の改行をスペースに置換するにはどうしたらいいでしょう。