Proxomitron フィルタ ..
883:名無しさん@お腹いっぱい。
06/10/25 20:55:25 6PSb8kEs0
相対リンク→絶対リンクに関するアイデアがある程度形になったので書き込みます。
アイデアは以下の構成。
1:現在のURLの階層を数える
$URL([^:]+:[^/]+/$SET(\0=1)([^./]+/$LST(increment)+)
\0には現在の階層数の値が入る
2:../の数を数える
((../)$LST(decrement))+
../を発見するたびに\0内の数を-1する
以上より(../)+の示す階層の深さを知ることができる
3:もう一度URLを下から辿りながら該当する階層まで上がる
$URL(
([^:]+:)\#
([^/]+/)\#$LST(decrement)$TST(\0=[^0])
(([^./]+/)\#$LST(decrement)$TST(\0=[^0]))+
)
階層を上がるたびに\0内の値を1ずつ減らし、その値が0になった時点でスタックに入っているURLが
(../)+の示す階層。
なおincrementリストとdecrementリストはそれぞれ\0に入っている一桁の数字の値を1だけ増やす又は減らすリストです。
884:名無しさん@お腹いっぱい。
06/10/25 20:59:52 6PSb8kEs0
例)
現在のURLは
URLリンク(vird2002.s8.xrea.com)
とします。
またhref="../download"なる相対リンクに飛びたい、という場合を考えます。
現在のURLの階層数は2です。
飛びたい先の相対リンクは../のグループを1つだけ持つので、
相対リンクの示す階層は2マイナス1から一階層目であることが分かります。
よって
URLリンク(vird2002.s8.xrea.com)
が../の示す階層になりますので、
downloadを付け加えて
URLリンク(vird2002.s8.xrea.com)がこの場合の相対リンクの示す絶対リンクです。
885:名無しさん@お腹いっぱい。
06/10/25 21:03:10 6PSb8kEs0
訂正。
incrementリスト/decrementリストは必ずしも一桁の数字を対象にはしません。
このリストを構成するに当たっては↑で議論されているフィルタを利用させていただくことになると思います。
886:think ◆MM0nnAOCiQ
06/10/25 23:05:08 5FqRZ3c50
ふぅ…、出来ました。フィルタ作りとは全く関係ないところで躓いていましたw
[Patterns]
Name = "ImagePopup lightbox_plus.js (1/2) [2006/10/25]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 8
Match = "(^(^</head>))$STOP()"
Replace = "\t<link href='URLリンク(local.ptron)' charset='utf-8' type='text/css'>\r\n"
"\t<script type="text/javascript" charset="utf-8" src="URLリンク(local.ptron)
"\t<script type="text/javascript" charset="utf-8" src="URLリンク(local.ptron)
Name = "ImagePopup lightbox_plus.js (2/2) [2006/10/25]"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "$NEST(<a\s,</a>)"
Limit = 1024
Match = "([^>]++(\shref=$AV([^?#]++.(jpeg|jp[eg]|gif|png|bmp|ico|j2k)([?#]*|)))\1((^target=$AV(_blank))[^>])+)\#"
"(target=$AV(_blank)([^>]+)\#|) \0"
Replace = "\@ rel="lightbox"\0 <a\1><img></a>"
多分、これで>853氏の要望は全て満たせると思います。(少し私の好みが入っているので、気に入らない点は適宜改変してください。)
作ってから気がついたんですが、target="_blank" を消さなくても lightbox_plus は動作するんですね。(Wikiには target="_blank" が存在すると動作しないとありました)
アクセシビリティの観点から、target="_blank" を敬遠する方もいると思いますので、とりあえずはこれで良しとします。
887:think ◆MM0nnAOCiQ
06/10/25 23:11:51 5FqRZ3c50
>886のフィルタについて。
lightbox_plus.js で指定されている画像ファイルのパスを書き直さなければならない点に注意して下さい。
該当箇所は "Event.register(window,"load",function() {" 以下にある記述です。
# 例) 'loading.gif' を 'URLリンク(local.ptron)' にする。
これに気がつくのに、ずいぶんと時間を消費しました…。
(^(^</head>)) を使用したのは、消費しない事による高速化の狙いもありますが、</head> に複数のフィルタがマッチできるようにするためでもあります。
「消費しない」ということは何度でもマッチできるということですので、もう一度、他のフィルタで </head> にマッチさせることが出来ます。
Multiを使用せずに、同様の効果を得られるのが利点です。
(実は、私の作ったフィルタで </head> にマッチするものがあるので、消費すると個人的に拙いのです…。)
>>883-885
考察お疲れ様です。
> ../を発見するたびに\0内の数を-1する
私も同じ事を考えていました。インクリメント(+1) と デクリメント(-1) が必要ですよね。
一つ気になったのは置換スタックを使用している点です。
もし、>880ベースのフィルタを使うとしたら、既に使用されている置換スタックは使えません。
# 816氏のフィルタベースならバッティングしませんが、遅いとのことなので…。
どちらかのフィルタの置換スタックをグローバル変数に代替えするか、置換スタックを使わないアルゴリズムを考える必要がありますね。
>883は単純にグループ化して、ローカル変数に格納すれば良いような気もしますが、未検証のため自信なし…。
888:think ◆MM0nnAOCiQ
06/10/25 23:20:54 5FqRZ3c50
ごめんなさい。>886で少しミスしました。
2chで実体参照が有効なのを忘れて、そのまま投稿してしまいました。
下記が修正版になります。
お手数ですが、>886を適用された方は (2/2) だけ↓を取り込んでください。
# (1/2) は変わりありません。
[Patterns]
Name = "ImagePopup lightbox_plus.js (1/2) [2006/10/25]"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 8
Match = "(^(^</head>))$STOP()"
Replace = "\t<link href='URLリンク(local.ptron)' charset='utf-8' type='text/css'>\r\n"
"\t<script type="text/javascript" charset="utf-8" src="URLリンク(local.ptron)
"\t<script type="text/javascript" charset="utf-8" src="URLリンク(local.ptron)
Name = "ImagePopup lightbox_plus.js (2/2) [2006/10/25] fixed"
Active = TRUE
URL = "$TYPE(htm)"
Bounds = "$NEST(<a\s,</a>)"
Limit = 1024
Match = "([^>]++(\shref=$AV([^?#]++.(jpeg|jp[eg]|gif|png|bmp|ico|j2k)([?#]*|)))\1((^target=$AV(_blank))[^>])+)\#"
"(target=$AV(_blank)([^>]+)\#|) \0"
Replace = "\@ rel="lightbox"\0 <a\1><img></a>"
889:名無しさん@お腹いっぱい。
06/10/26 00:03:47 4hgUqkpN0
3:もう一度URLを下から辿りながら該当する階層まで上がる
$URL(
([^:]+:)\#
([^/]+/)\#$LST(decrement)$TST(\0=[^0])
(([^./]+/)\#$LST(decrement)$TST(\0=[^0]))+
)
を置換スタックを用いないアルゴリズに修正するのは非常に簡単です。
むしろシンプルさの点でこちらのほうを先に考慮するべきでした。
$URL(
(
([^:]+:)
([^/]+/)$LST(decrement)$TST(\0=[^0])
(([^./]+/)$LST(decrement)$TST(\0=[^0]))+
)\1
)
$TSTとグループ化については検証しました。
マッチ欄 = "(((?)\0$TST(\0=[^0]))+)\1"
1文字読む毎にその文字が0でないかどうかをTESTし、最後の0までを\1に収めます。
890:883
06/10/26 00:05:45 4hgUqkpN0
IDが頻繁に変わりますが>883-885です。
891:名無しさん@お腹いっぱい。
06/10/26 02:31:16 VSM6AvXD0
改良ありがとうございます。
というか全面的に書いて頂いちゃいましたね。
自分で書いたものを直してもらうと勉強になります。
892:816
06/10/26 06:45:53 XApi7DgO0
>>880-881
乙です。 フラグを使って二回目以降のマッチングをキャンセルさせたんですね、早速プロファイルで
テストしたらバッチリでした。 グローバル変数を使うことで若干の速度低下はありますが安心して
使えるのでこちらのほうがいいですね、GJ。
自分も何通りかの回避策を考えていたんですが今までに出たフィルターより酷いものしか思い付かず
全部ボツになりました。 一番有力だったのが>>851のフィルターに分岐をもう1つ付けた↓の案です。
(^(^[0-8]9+(^[0-9])))$LST(Num-plus)(9$SET(#=0))+
|
(^(^9))$SET(#=1)(9$SET(#=0))+(^[0-9])
|
(9+{1,*})\0
マッチングが3つ目の分岐に来る時は対象の数字が "999....9[0-8]" (←0〜8のどれか) ...のはずなので、
"999..." の部分を単独で消費させ、次のマッチングテストを [0-8] のところから再開させようという狙いでした。
しかしマッチ回数が増えると返って遅くなったりデバックモードが見づらくなるなどの副作用が激しい上に
\0 か \@ のどちらを出力するかのフラグも必要になるので諦めました。
>全角文字 → 半角文字
グローバル変数も使い方次第ですね、とても参考になりました。
>>883
乙。
893:名無しさん@お腹いっぱい。
06/10/26 20:53:13 uv9TRhoo0
>796を参考にして
巨大な image/gif を読み込まないようにするものを書いてみたのですが、
いまのところ動作しません。
In = TRUE
Out = FALSE
Key = "Content-Length: large gif rejecter (in) (2006.10.26)"
URL = "$IHDR(Content-Type: image/gif)"
Match = "([#102400:*])\1"
Replace = "\k"
\kや$IHDRなどほとんど使わないので自信がないのですが、
何が間違っているのでしょうか。
一応、100KB以上のファイルを\kするようにしたつもりです。
テストしたURLでは、どちらのヘッダも送られてきています。
動作が確認されたら$LOGを追加してみようかと思っています。
894:>>862>>875
06/10/26 21:29:51 J2Mj+u6C0
フィルタお願いします。
895:名無しさん@お腹いっぱい。
06/10/26 21:48:29 4hgUqkpN0
>894
もう誰もこれ以上教える気はないようだからそろそろ去ったらどうだ?
何も期待できないと思うぞ。
896:think ◆MM0nnAOCiQ
06/10/26 21:55:09 38SjBeFP0
インクリメントが一区切り付いたので、デクリメントも作成してみました。
[Patterns]
Name = "decremented by one [Match ver] [2006/10/26] beta1"
Active = TRUE
Limit = 32767
Match = "(^(^[1-9](^[0-9])))$LST(Num-minus)(^[0-9])|"
"(^(^0+(^[0-9])))((^(^0))$LST(Num-minus))+(^[0-9])"
Replace = "\@"
# $LST(Num-minus)
0$SET(#=9)
1$SET(#=0)
2$SET(#=1)
3$SET(#=2)
4$SET(#=3)
5$SET(#=4)
6$SET(#=5)
7$SET(#=6)
8$SET(#=7)
9$SET(#=8)
仕組みは>864とほぼ同じです。
# ブロックリストの長文(000...)とグローバル変数は、これで未知の問題がないことを確認してから取り入れていきます。
# シンプルなフィルタから作り始めないと、問題点を特定できないことが多いので。
897:think ◆MM0nnAOCiQ
06/10/26 22:04:30 38SjBeFP0
>>889
お疲れ様です。
ハードルはほぼ乗り越えた感じですね。
後は基礎からじっくりと固めていけば、「相対URL→絶対URL」の新しいフィルタが出来そうです。
>>892
テスト有り難うございます。
良かったら、デクリメントもテストしていただけると嬉しいです。
正直、デクリメントの方が簡単にできてしまって、拍子抜けしてますw
>>891
画像のポップアップは私も興味ある機能でしたので、こちらこそ良い勉強になりました。
問題があったら、報告下さいね。
私のところでは、機能的には問題ありませんでしたが、少しWebページの読み込みが遅くなった気がします。
CSSで画像をロールオーバーさせるフィルタも作ってみたので、どちらが良いか比較中です。
898:think ◆MM0nnAOCiQ
06/10/26 22:24:12 38SjBeFP0
>>893
流してしまってすみません。
> \kや$IHDRなどほとんど使わないので自信がないのですが、何が間違っているのでしょうか。
\k は間違いないと思いますが、$IHDR の場所が変かもしれません
$IHDR を検索表現に置いてみてはどうでしょう?
私の環境では、それで動作しました。
# 「検索表現, 置換テキスト」に適用できるマッチングコマンドでも、URLマッチに指定できるとは限らないようです。
# URLマッチで動作しなかったら、検索表現へ移してみてください。
899:名無しさん@お腹いっぱい。
06/10/27 00:29:26 bF00szPi0
>852
すでにこの段階で既出だったんですね。
スレを追ってなかったので読み落してました。
でフィルタですが、実はインクレメントリストをまだ作っていないので現段階で完成はできませんが、それ以外は完成したと思います。
Name = "URL"
Active = FALSE
URL = "$TYPE(htm)"
Limit = 256
Match = "$NEST(<a\s,\1href=$AV(((../)+)\2(*)\3)(*)\4,>)"
"$URL([^:]+://[^/]+/$LST(increment)([^./]+/$LST(increment))+)"
"$TST(\2=(../$LST(decrement))+)"
"$URL(([^:]+://[^/]+/$LST(decrement)$TST(\0=[^0])([^./]+/$LST(decrement)$TST(\0=[^0]))+)\5)"
Replace = "<a \1href="\5\3"\4>"
../を発見することがこのフィルタの発動条件なので、手順は以前のものとは少し変わります。
900:名無しさん@お腹いっぱい。
06/10/27 00:32:14 bF00szPi0
解説
$NEST(<a\s,
\1
href=$AV(((../)+)\2(*)\3)
(*)\4
,>)
\1と\4にはhref="hogehoge"の以前の部分と以降の部分がそれぞれ入る。
\2には(../)+が入る。
\3には../ループより後ろの残りのURLが入る。
$URL(
[^:]+://
[^/]+/$LST(increment)
([^./]+/$LST(increment))+
)
現在のURLの階層の深さを測る。
階層情報は\0に保存するとする。
901:名無しさん@お腹いっぱい。
06/10/27 00:32:46 bF00szPi0
$TST(\2=(../$LST(decrement))+)
\2に入っている../ループの数だけ引き算する。
$URL(
(
[^:]+://
[^/]+/$LST(decrement)$TST(\0=[^0])
([^./]+/$LST(decrement)$TST(\0=[^0]))+
)\5
)
階層を1つ下りるごとに\0をー1しながら
\0が0になるまで階層を下りていく。
902:名無しさん@お腹いっぱい。
06/10/27 00:41:37 bF00szPi0
追加ですが、相対リンクを使うようなページの場合はほかのリンクも相対リンクである確率が高いので、
現在居る階層の深さ情報はグローバル変数に蓄えたて再利用できます。
すでに深さが既知の場合にはいくらか処理がシンプルになります。
そこで深さを測る処理に手を加えます。
(
$TST(SWITCH=1)
$SET(\0=URL)
|
$URL([^:]+://[^/]+/$LST(increment)([^./]+/$LST(increment))+)
$SET(URL=\0)$SET(SWITCH=1)
)
とします。
グローバル変数は他のURLに飛んだ時点でリセットされると記憶しています…。
この場合はSWITCH変数とURL変数はURLが変わったときにリセットされる必要があります。
903:893
06/10/27 00:57:45 euP+G8PW0
>898
どうもありがとうございます。
$IHDRの場所も疑ってはいたのですが、
検索表現であればどこに使ってもよいのだろうと思ってそのままにしていました。
ヘッダの URL: ○○ あたりと連携させないとだめなのかと思っていたところですが、
Match = "$IHDR(Content-Type: image/gif)([#102400:*])\1"
これであっさり動作しました。場所が重要だったとは……。
Server: Proxomitron というヘッダもついてきます。
904:名無しさん@お腹いっぱい。
06/10/27 14:58:28 yTsXlKfw0
内容の濃いスレになったね。
落ちないうちに保存しておこうっと。
905:名無しさん@お腹いっぱい。
06/10/27 15:33:23 cpcnkQie0
昨日、寝る前にベッドの中で思いついたアイデアを今思い出したので、書き残しておきます。
hrefの中で../を発見することが相対リンク→絶対リンクの発動条件ですが、これを肯定先読みを使うことで
よりスマートに、より複雑に、より分かりづらいフィルタに(w)することができます。
href=$AV((^(^../))
この段階でフィルタの発動条件を満たします。
この直後に現在いる階層の深さを測ります。(>902をそのまま利用)
($TST(SWITCH=1)$SET(\0=URL)|
$URL([^:]+://[^/]+/$LST(increment)([^./]+/$LST(increment))+)$SET(URL=\0)$SET(SWITCH=1))
そしてhref内の../を数え上げて、decrementによって引き算します。
(../$LST(decrement))+(*)\3
最後に>900をそのまま利用します。
以上より
Match = "$NEST(<a\s,\1href=$AV((^(^../))($TST(SWITCH=1)$SET(\0=URL)|"
"$URL([^:]+://[^/]+/$LST(increment)([^./]+/$LST(increment))+)$SET(URL=\0)$SET(SWITCH=1))(../$LST(decrement))+(*)\3)(*)\4,>)"
"$URL(([^:]+://[^/]+/$LST(decrement)$TST(\0=[^0])([^./]+/$LST(decrement)$TST(\0=[^0]))+)\5)"
Replace = "<a \1href="\5\3"\4>"
href=$AV()の中に詰め込んだだけで、それ以外は何も変わりません。
906:名無しさん@お腹いっぱい。
06/10/27 16:26:44 cpcnkQie0
ウェブ上での動作確認版
Name = "URL"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 256
Match = "$NEST(<a\s,\1href=$AV((^(^../))($TST(SWITCH=1)$SET(NUM=$GET(URL))|"
"$URL([^:]+://[^/]+/$SET(NUM=1)([^./]+/$LST(increment))+)$SET(SWITCH=1)$SET(URL=$GET(NUM)))(../$LST(decrement))+(*)\3)(*)\4,>)"
"$URL(([^:]+://[^/]+/$LST(decrement)$TST(NUM=[^0])([^./]+/$LST(decrement)$TST(NUM=[^0]))+)\5)"
Replace = "<a \1href="\5\3"\4>"
incrementリストの中身
***********************************************
$TST(NUM=1)$SET(NUM=2)
$TST(NUM=2)$SET(NUM=3)
$TST(NUM=3)$SET(NUM=4)
$TST(NUM=4)$SET(NUM=5)
$TST(NUM=5)$SET(NUM=6)
$TST(NUM=6)$SET(NUM=7)
$TST(NUM=7)$SET(NUM=8)
$TST(NUM=8)$SET(NUM=9)
$TST(NUM=9)$SET(NUM=A)
$TST(NUM=0)$SET(NUM=1)
************************************************
907:名無しさん@お腹いっぱい。
06/10/28 02:01:34 K8mTgtv60
韓国とか朝鮮という言葉を一切目にしたくありません。そういうフィルターをお願いします。
908:名無しさん@お腹いっぱい。
06/10/28 02:05:21 KHlbWOOD0
&の基本的な使い方がまだよくわかっていないようで、つまずいています。
Bounds = "<textarea\s*>"
Limit = 128
Match = "*(*cols=$AV([#51:*])\1)&(*rows=$AV(\2))"
Replace = "<textarea cols="50" rows="\2" title="large textarea resized - \1">"
textarea の cols が大きいと横スクロールバーが発生するので、
それを防ぐためのものです。
上のMatchだと、\2の中身が数字にとどまらず、余計なものまで入れてしまうようです。
$AVを使うことで属性値を正しく解釈してくれるものと期待したのですが、
うまくいっていないようです。
textarea は空要素ですが、空要素でないものでは、
上記のような方法で望み通りの結果が出ています。
テスト用サンプル
<textarea rows="20" id="sample" cols="100">
<textarea cols="100" rows="20" id="sample">
909:名無しさん@お腹いっぱい。
06/10/28 02:29:52 z3Kpim4u0
textareaの中のcols属性の値が50を超える場合は50にして、それ以外は変更しない、というフィルタでOK?
こんな感じになると思う。
マッチ欄だけね。Boundsは使わない。
$NEST(<textarea\s,*cols=$AV([#51:*])*,>)
NESTをこのように使うと","と","の間には以下のような文字列がはまる。
<textarea rows="20" id="sample" cols="100">なら
rows="20" id="sample" cols="100"
<textarea cols="100" rows="20" id="sample">なら
cols="100" rows="20" id="sample"
そしてアスタリスクサンドイッチによって*cols=$AV(hogehoge)*としてやると
cols属性の前部分と後ろ部分は*(アスタリスク)によって消費する。
俺の場合はNESTとアスタリスクサンドイッチは、一つの属性だけに着目するときに常用する常套手段だね。
他の人だったらまた別の手法を常用しているのは↑のフィルタ例を見れば分かる通りで、唯一の解はない。
あとはアスタリスクで消費される部分をローカル変数に収めてやればよい。
\1cols=$AV(hogehoge)(*)\2
このようにね。
このローカル変数をそのまま利用するのであればReplace欄は以下になる。
<textare \1cols="50"\2>
以上より
Match = "$NEST(<textarea\s,\1cols=$AV([#51:*])(*)\2,>)"
Replace = "<textare \1cols="50"\2>"
がお望みのフィルタとなると思う。
&は使ったことがないので、もし&の使い方を勉強がしたかったのなら力になれずスマソ。
人によって書き方って全然違うからね・・・。
910:名無しさん@お腹いっぱい。
06/10/28 02:32:49 z3Kpim4u0
書き忘れたけどNEST+アスタリスクサンドイッチの書き方はかなわずこうでなきゃいけないので注意。
$NEST(tagname\s,*hogehoge=$AV(foobar)*,>)
911:名無しさん@お腹いっぱい。
06/10/28 09:46:21 9IGS2CbP0
memo : ([^?#/]+/)\#+{1,*}
912:名無しさん@お腹いっぱい。
06/10/29 20:48:09 Y14y3roy0
久々にイメージ検索をした時に気づいたんだけど、
google image (060810_kai) +js+がたまに悪さをして、
イメージ部分が表示されない時があるみたい。
なんでだろう。
あと以前のgoogle imageは、画像をクリックするとオリジナルのサイズの画像で表示されたけど、
これだと画像サイズが固定された状態に拡大縮小されてしまってるかも。
もし良かったら修正お願いしマッス。
913:名無しさん@お腹いっぱい。
06/10/30 22:25:46 4HUAuLcP0
こんばんは。
もしご存知の方がいれば教えて頂きたいのですが、よろしいでしょうか?
>>160さんの回答で出てくると同じオンラインゲーム「Livly Island」の
「技」のなかで特定の物を表示できなくしたいのですが、できるのでしょうか。
もし、技swfをシャットアウトしてしまう方法をご存知の方がいらっしゃいましたら、
よろしくお願いいたします。
(アクションスクリプトかどうかはわかりません。Flashやったことないもので…)
914:名無しさん@お腹いっぱい。
06/10/31 17:55:19 8orGPcrc0
既出なので今更と思うかも知れないが、
Livly Island 関係のフィルタはゲームのモラルやポリシーに関わるものが多い。
このスレでは扱わない方がいいだろうと思うんだ。
基礎さえ知っていれば難しいことじゃないし、
あちらの専用スレでも自力でできることが前提だと言われていたしな。
915:名無しさん@お腹いっぱい。
06/10/31 18:42:34 8orGPcrc0
>>913
確認してきたらマルチじゃないか。
向こうで追っ払われたからってこちらに来ないでくれよ。
916:名無しさん@お腹いっぱい。
06/11/01 17:03:39 lqgq8ohV0
特許庁のIPDL公報テキスト検索
URLリンク(www7.ipdl.ncipi.go.jp)
の検索結果を新しいタブ(ウインドウ)で開きたい。
下のような、フィルタではうまく行かなかった。
submitの値をreturnしてwindow.openと組み合わせればできそうなんだけど。。
[Patterns]
Name = "IPDL new tab opener"
Active = TRUE
Limit = 256
Match = "HREF="JavaScript:ListSubmit"
Replace = "HREF="JavaScript:window.open"
917:名無しさん@お腹いっぱい。
06/11/01 20:40:48 egiE4oOy0
>>151 = >>913 の可能性がドロリ濃厚な件。
918:think ◆MM0nnAOCiQ
06/11/03 00:42:38 508VMIZd0
>>905-906
遅レスで申し訳ありません。
あれから、他のフィルタに夢中になってしまいまして、デクリメントから遠ざかっていました。(汗)
そちらは一区切り付いたので、またデクリメントに挑戦してみようと思います。
で、改めてみて気がついたのですが、検索表現で$TSTする都合上、グローバル変数を使わざるを得ないのですね。
そういう意味で、\#に拘ったのは無意味だったかもしれません。
>>908
まだ見ていますか…?
とりあえず、& は使わなくて良い気がします。
title属性で格納したい対象がよく判りませんが、私なら以下のように書きます。
Match = "(<textarea\s[^>]++cols=)\0$AV(([#51:*])\1)"
Replace = "\0"50" title="resized cols \1 -> 50""
>>909
お疲れ様です。
細かなことですけど、(*)\2 は \2 にして大丈夫です。
$AVの括弧はグループ化ではありませんので、\2はアスタリスクと同じように働き、消費されます。
919:823
06/11/03 00:59:24 c1M+0JK70
>>823のヘッポコmixiフィルタを書いたものです。
ちょっぴり訂正
|(<(table|td)\s[^>]++width=)\2$AV(710)([^>]+>)\3
の下に、
$URL(^URLリンク(mixi.jp))
が必要だす。
高度な内容が並ぶなか、お恥ずかしい。
$NEST恐怖症を解消して綺麗なフィルタ書きを目指したいな。
920:名無しさん@お腹いっぱい。
06/11/03 01:23:21 zp3j1wvA0
goooooogleimageが効かねー。誰か作り直し頼んだ
921:名無しさん@お腹いっぱい。
06/11/03 11:37:12 wGQAznhc0
[Patterns]
Name = "Google image redirector [061103]"
Active = TRUE
URL = "images.google."
Limit = 1024
Match = "var\ e=\"/imgres\?imgurl=\"\+\0\+\"\&imgrefurl=\"\+\1\+[^;]+;c\+=\"<a href=[^>]+>$STOP()"
"$SET(9=c+="<a href="+unescape(\1.match(/^[^&]+/))+" target=_blank>Link</a><a target=_blank href="+unescape(\0)+">)"
"|"
"<a href=/imgres\?imgurl=\0\&imgrefurl=\1\&h=*>"
"$SET(9=<a href=$UESC(\1) target=_blank>Link</a><a href=$UESC(\0) target=_blank>)"
Replace = "\9"
922:名無しさん@お腹いっぱい。
06/11/03 11:38:48 wGQAznhc0
[Patterns]
Name = "google image (061103) +js+"
Active = TRUE
URL = "images.google.co(.jp|m)/"
Limit = 1024
Match = "var\ e=\"/imgres\?imgurl=\"\+\0\+\"\&imgrefurl=\"\+\1\+[^;]+;c\+=[^;]+;[^;]+;[^;]+;$STOP()"
"$SET(9=var e=unescape(\1.match(/^[^&]+/));var proxvar=\0;"
"c+="<a href="+e+" target=_blank>imgref</a> / <a target=_blank href="+unescape(proxvar)+">img</a><br>"
"<img ondblclick='this.src="+'"";this.style.display="none"'"
"+"' onclick='if(this.a){this.src=this.a;this.a=0}else{this.a=this.src;this.src="+'"http://'+unescape(proxvar)+'"}'"
"+"' src=/images?q=tbn:"+b.d+proxvar+">";)"
"|"
"<a href=/imgres\?imgurl=[^&]+\&imgrefurl=([^&]+)\0[^>]+> <img[^>]++(src=/images\?q\=tbn:[^:]+:([^ >]+)\2)\1*</a>"
"$SET(9=<a href="$UESC(\0)" target="_blank">imgref</a> / <a href="\2" target="_blank">img</a><br>"
"<img ondblclick="this.src='';this.style.display='none'" onclick="if(this.a){this.src=this.a;this.a=0}else{this.a=this.src;this.src='\2'}"\1</a>)"
Replace = "\9"
923:名無しさん@お腹いっぱい。
06/11/03 12:33:11 P23w4aje0
>>921
ありがとうございました。
924:908
06/11/04 17:53:30 BDG40CNw0
遅くなりましたが、どうもありがとうございます。
望むフィルタを書くことができました。
>909
$NESTを使いこなすといろいろ便利そうですね。
テクニックのひとつとして覚えておきます。
>918
Boundsを積極的に使おうという風に頭が働いてしまうので、
そのように考えることができませんでした。
必要ならばBoundsを使わないようにするということも頭に入れておきます。
私はフィルタ作成時にtitle属性をよく使いますが、
フィルタがマッチする前にどう書かれていたのかをわかりやすくするために利用しています。
>908の場合だと、本来HTMLを書いた人がcols=$AV([#51:*])\1としたかったのを
書き換えるわけで、書き換える前のcolsの値がすぐにわかります。
>908でtitle属性で格納したい対象は、colsの値です。
書き換えたことが一目でわかるとアクセス性の向上などにつながると思いますし、
デバッグの際にも役立ちます。
925:名無しさん@お腹いっぱい。
06/11/04 19:49:29 BDG40CNw0
Bounds = "<pre*<pre>"
Limit = 1024
Match = "(\#(\r\n|\r|\n)+{5,*})+"
Replace = "\@"
pre要素の中に改行が連続していると縦にページが長くなるため、
改行が5つ以上あった場合<br>と見なして削除するフィルタです。
(こういう場合は論理目的でpre要素を使っていないものと判断します)
\#と\@の練習も兼ねています。
改行コードだけ削除してくれればよいのですが、いまのところ動作しないようです。
たぶんMatchがまずいのだろうと思うのですが、何が間違っているのでしょうか?
926:think ◆MM0nnAOCiQ
06/11/04 21:14:59 qgIOVES+0
またやってしまいました…。
>918を取り込んでいたら、以下に差し替えてください。
Replace = "\0"50" title="resized cols \1 -> 50""
>>924
> デバッグの際にも役立ちます。
確かに便利ですよね。置換内容がすぐに判る仕組みを作っておくと早期バグ発見に貢献すると思います。
>>925
目の付け所はよいと思いますが、ケアレスミスで失敗しているようです。
1. Boundsの終了タグを </pre> にする
2. 検索表現の最後に \# を加える
3. (\r\n|\r|\n) を (\r\n|[\r\n]) にする (どっちでも良いのですけど、文字クラス化した方がすっきりします)
これで、期待通りに動作すると思います。
特に、2. が躓きやすいところかもしれません。
(...)+ で再帰的に処理させる場合は、その表現でどこまで消費されるかをシミュレーションしてください。
この場合、「5回以上の改行」まで消費されますが、そのままでは </pre> が残るためマッチしない、ということになります。
927:名無しさん@お腹いっぱい。
06/11/04 22:56:39 BDG40CNw0
>926
どうもありがとうございます。ものすごいケアレスミスをしていますね……。
\#を使う前に*あたりで実験してもみたのですが、
preの閉じ忘れに気づかなかったことで全部台無しです。
928:名無しさん@お腹いっぱい。
06/11/04 23:06:57 wS+Fn6Tk0
>>925のが動かないときはまず
Bounds = "<pre*<pre>"
Limit = 1024
Match = "*"
Replace = "Match!"
みたいに簡単なフィルターを書いて試すといいよ、これは動かないのでこの中に原因があると分かる。
929:名無しさん@お腹いっぱい。
06/11/05 16:53:08 H3/sRPVo0
MyYahooのFLASHと[PR]を消してください・・・
URLリンク(my.yahoo.co.jp)
930:名無しさん@お腹いっぱい。
06/11/05 21:50:02 OFSGT4Qa0
>>929
アプロダにあるKoukoku Eraserっつうのに入ってるフィルタで消えるよ
[Patterns]
Name = "Yahoo AD Killer"
Active = TRUE
URL = "(^serch|blogs)[^/]++.yahoo.co.jp/"
Limit = 5000
Match = "$NEST(<!-- (-|) (Ad(Space|\ [^>]++ (^(^(-|)-->)))\1|YBB( module|_UnderBanner)|// AD\([a-z/]+\)|SPECIAL CONTENTS MODULE START)"
",<!-- (-|) (/(Ad$TST(\1)|YBB( module|_UnderBanner)) [a-z]+|(//|) /AD\([a-z/]+\)|SPECIAL CONTENTS MODULE END) (-|)-->)|"
"$NEST(<div align=$AV(center)>,</div>)"
"( <img src="URLリンク([^.]+.yimg.jp) width=1 height=6 border=0><br>|(^(^<script language=javascript> if\(window.yzq_d==null\))))|"
"<table\s[^>]+> <tr(\s[^>]+|)><td\s[^>]+>(<[^>]+>|)"
"<b>([%C3][%ED][%CC][%DC][%A4][%CE][%BE][%F0][%CA][%F3]|(\ |)PR)</b>($INEST(<table,</table>)|*)</table>|"
"(\[PR\] |)$NEST(<a\s[^>]++href=$AV(URLリンク(ard.yahoo.co.jp)(M|SIG)=*),</a>)|"
"$NEST(<script,*://ard.yahoo.co.jp/M=*,</script>)|"
"<img\s[^>]++src=$AV(URLリンク(ai.yimg.jp))*>"
931:名無しさん@お腹いっぱい。
06/11/07 21:07:58 zk6RxHlg0
忍者ツールズが最近サーバを増やしたらしく、チェックから漏れまくり。
<!--shinobi
でマッチさせると、(あえて?)コメント入れてない所があったりするし
サーバ名でマッチさせると、数が多くてちと記述が長くなる
なんかいい方法無いもんかな。
932:think ◆MM0nnAOCiQ
06/11/07 21:10:42 QfZmH8E30
>>931
マッチしづらいURLを幾つか挙げていただければ、見てみます。
933:名無しさん@お腹いっぱい。
06/11/07 23:25:18 //YtqP3v0
>>931
忍者ツールズは170種類のセカンドレベルドメインを所有してる。
URLリンク(www.shinobi.jp)
このページのドメイン一覧を見てブロックリスト作ればだいぶマシになると思うよ。
全部網羅してるわけじゃないみたいだけどね。
たとえばninja-systems.comはこの一覧には載ってない。
934:名無しさん@お腹いっぱい。
06/11/08 00:49:38 1qPMa+PR0
>>932-933
今んところアク解等で利用されたのはこんだけ
(ninja-systems|hattori|shinobi|gokenin|tsuchigumo|tuzikaze|hatagashira)
tsuchigumo以降は、つい最近ブラウザ上部で手裏剣が回っていたので気が付いて追加した。
これは外部ファイルでも使ったほうが綺麗に書けるのかな。
935:名無しさん@お腹いっぱい。
06/11/08 01:31:49 aLwjqkcq0
hanamizake
936:think ◆MM0nnAOCiQ
06/11/08 20:48:55 yZYXSmjO0
>>934
> (ninja-systems|hattori|shinobi|gokenin|tsuchigumo|tuzikaze|hatagashira)
これはURLの一部なんでしょうか?
おそらく幾つかのマッチ方法があると思われるので、実際に広告が置かれているWebページのURLを紹介していただけると有り難いです。
どんな広告が挿入されるか実際に見てみるのと判りやすいので…。
例えば、以下のURLの場合は
URLリンク(www.ninja-systems.com)
URLリンク(faccia0soldi.hanamizake.com)
<!--shinobi1-->〜<!--shinobi2--> の範囲に広告があるので、URLを意識せずともコメントにマッチさせれば広告を除去できます。
これで取り逃がした分をURLでマッチさせるのがスマートかなと思っています。
937:think ◆MM0nnAOCiQ
06/11/08 20:50:37 yZYXSmjO0
以下、私が shinobi の広告を除去している方法です。
コメントは "Kill nest ad [2006/03/27]" より、
# shinobi
shinobi(ct|ctrl|)\21$SET(Nest1=shinobi\22)
URLは "Kill href/src ad [2006/06/04]" より、
# shinobi
x0.shinobi.jp/
x1.shinobi.jp/
x2.shinobi.jp/
x3.shinobi.jp/
x4.shinobi.jp/
x5.shinobi.jp/
x6.shinobi.jp/
x7.shinobi.jp/
x8.shinobi.jp/
x9.shinobi.jp/
nad2a.shinobi.jp/
shinobi.jp/
938:名無しさん@お腹いっぱい。
06/11/08 23:25:54 a+JIC0sP0
やわらか戦車おもすれ〜
939:名無しさん@お腹いっぱい。
06/11/09 04:59:38 9d1Hg5u/0
ちょいとみなさん。
googleで検索するときって""やら|やらsite:やらを駆使すると思うんですが、
手でこれを打つのも面倒だしフォームがごちゃごちゃになって見辛いですよね。
そこでproxomitronをつかって独自拡張してみようと思うのですが何か良いアイディアはありませんか?
ベースとしては独自拡張した手法でフォームから送信するとproxoimitronがそれをキャッチして
googleの認識できる形に整形してリダイレクトして、
検索フォームに表示する文字列はグローバル変数で保存しておいたものを表示するという感じです。
例えばよくあるのは"hogehoge"|"hoge hoge"|"hoge-hoge"のように表記ユレに対応するやり方ですね。
これはとてもよく使うのですがやたらに幅を取る場合があるのでどうにかして短くしてしまいたい。
また、site:google.comもs:google.comのほうが少しだけ短くてお得感があります。
他にも色々とあるかと思うので是非みなさんのアイディアを参考にさせて頂きたく書き込みます。
940:名無しさん@お腹いっぱい。
06/11/09 05:15:47 dCfrqCLd0
>939
おもしろそう。
site: は実現可能かもしれないけど、""は難しいんでないのかな。
個人的には site: の検索がもう少し楽になればそれで満足かな。
site:URL の形式で入力しても検索結果がゼロになることがよくあって、
正しく入力したのか不安になることがよくある。
ただ、自分は Firefox の検索バーをよく使っているから、
仮にフィルタが完成したとしても、
フィルタが有効になるページに一度移動しなければならない。
それを面倒だと感じないほど便利なフィルタでなければ意味がないかもしれない。
941:名無しさん@お腹いっぱい。
06/11/09 15:53:32 XnVq1cu90
- - - - - - - - - - - - - INCS.txt - - - - - - - - - - - -
# NoAddURL
([0-9]++)\7
([0-8])\9
(^[0-9])
$TST(\9=$LST(INC))
|
9(^[0-9])$SET(7=)$SET(vinc=10)
|
([0-9]++)\7
([0-9])\9
(9+{1,*})\8
(^[0-9])
$TST(\9=$LST(INC))
$TST(\8=(9$SET(vinc=$GET(vinc)0))+)
&
$SET(vinc=\7$GET(vinc))
- - - - - - - - - - - - - INCS.txt - - - - - - - - - - - -
- - - - - - - - - - - - - INC.txt - - - - - - - - - - - -
# NoAddURL
0$SET(vinc=1)
1$SET(vinc=2)
2$SET(vinc=3)
3$SET(vinc=4)
4$SET(vinc=5)
5$SET(vinc=6)
6$SET(vinc=7)
7$SET(vinc=8)
8$SET(vinc=9)
9$SET(vinc=10)
- - - - - - - - - - - - - INC.txt - - - - - - - - - - - -
942:名無しさん@お腹いっぱい。
06/11/09 16:19:04 XnVq1cu90
テスト用フィルター。 テストウインドウに "数字_数字_数字" という書式でテキストを書いてテスト。 例、 10_19_9
[Patterns]
Name = "INCS"
Active = TRUE
Limit = 256
Match = "$LST(INCS)$SET(A=$GET(vinc))_"
"$LST(INCS)$SET(B=$GET(vinc))_"
"$LST(INCS)$SET(C=$GET(vinc))"
Replace = "<--[$GET(A)] [$GET(B)] [$GET(C)]-->"
vinc … 変数を表すv + inc、グローバル変数。
INCリスト … 1桁の数字を+1する場合に使用。 結果はvincに代入される。
INCSリスト … 1桁以上の数字を+1する場合に使用。 結果はvincに代入される。 内部でINCリストを使う。
vincに代入された値を取り出すときは基本的に上のフィルターのように別のグローバル変数を用意して代入する。
1マッチで1回しか+1処理をしないフィルターの場合はローカル変数への代入も可。
943:名無しさん@お腹いっぱい。
06/11/09 16:52:26 XnVq1cu90
1つ書き忘れた。
INCSリストを使うと \7、\8、\9 は使えなくなるので \0〜\6 を使ってフィルターを書くこと。
944:名無しさん@お腹いっぱい。
06/11/09 21:26:01 XnVq1cu90
INCSリストは3行に分けるべきだけど開発用のため1行のままにしてます、念のため。
945:think ◆MM0nnAOCiQ
06/11/09 21:55:17 sbCt8m4S0
>>939
個人的には現状で満足してますが、アイデアとしては面白そうですね。
> 検索フォームに表示する文字列はグローバル変数で保存しておいたものを表示するという感じです。
いやいやいや。せっかくですが、それでは期待通りに動作しません…。
Googleは検索フォームの文字を見てるのではなくて、URLで渡された文字を見てるんです。
何より、Proxomitronでフォームの文字を置換したとしても、それはブラウザの見た目上、内容が書き換えられただけで検索結果に影響はありません。
> ベースとしては独自拡張した手法でフォームから送信するとproxoimitronがそれをキャッチして
んーと、少し考えただけなので穴があるかもしれませんが。
私なら、URLをチェックして加工してしまいます。
加工したい文字をパーセントエンコードし、条件に符合する場合にだけ加工後のURLにリダイレクトさせる…と。
問題点として、ie=shift_jis への対応が難しいことが挙げられます。
Shift_JISは漢字とASCII文字のコードがバッティングするため、s にマッチさせるつもりで漢字にマッチしてしまうことも考えられます。
ie=shift_jis に対応させるか否かが一つの鍵になると思います。
文字コードについて
URLリンク(ash.jp)
でも、自分専用にするなら、ie=utf8 を挿入して、仮のクエリ(&p_extension=on とか)を付けるだけで良いかもしれません。
それがユニークなクエリなら、自分専用の検索とわかりますし、検索バーからも使えるため、汎用性も高いと思います。
946:think ◆MM0nnAOCiQ
06/11/09 21:56:34 sbCt8m4S0
> 例えばよくあるのは"hogehoge"|"hoge hoge"|"hoge-hoge"のように表記ユレに対応するやり方ですね。
これは検索語を hoge:hoge とするだけで全てに対応できる気がします。
Googleでは、"hoge hoge" と "hoge-hoge" は同一として解釈されます。
Googleは一部の記号文字を解釈せず、空白と同じとして扱うためです。
ですので、":", "%", "@" は全て「空白と同じ」です。
更に、「空白がない場合」も考慮します。
# 例外的に、ハイフンは "-" として扱われる場合があります。
# CD-R はちゃんと単語として解釈されますが、"Windows-Media-Player" のハイフンは空白と同一です。
これは "Google: High Light" の備考にも書いたテクニックですが、Windows:XPで「WindowsXP」と「Windows XP」の両方に対応して検索できます。
先ほどの記号文字を解釈しない事を利用したテクニックです。
Google検索: Windows:XP
URLリンク(www.google.co.jp)
947:名無しさん@お腹いっぱい。
06/11/10 20:23:27 6TNHIzJl0
youtubeのファイル直リンクのアドレス作成方法が変わってるね。
だれか修正ぷりーず。
948:名無しさん@お腹いっぱい。
06/11/10 20:34:55 ewoqr5K40
>>947 普通に保存出来た。
949:名無しさん@お腹いっぱい。
06/11/10 21:45:42 fTuWWJDL0
普通に保存できるな
950:名無しさん@お腹いっぱい。
06/11/10 21:53:43 4jcy+3Ai0
普通にはできないか
951:名無しさん@お腹いっぱい。
06/11/10 21:59:26 YYErhcXR0
普通に保存できる
952:think ◆MM0nnAOCiQ
06/11/10 22:46:37 x7d7RZv/0
長らく放置していたインクリメント,デクリメントのフィルタが完成しました。
$LSTを使ったモジュール化も終わり、相対URLを絶対URLにするフィルタ("Kill without <a>")との組み合わせも正常動作しています。
説明が非常に長くなるので、興味のある方は私のサイトからDLして下さい。
URLリンク(vird2002.s8.xrea.com)
>>941-944
フィルタ作成お疲れ様です。
インクリメントは反響の大きな課題でしたね。
拝見しましたが、>941氏のフィルタと私のフィルタのアルゴリズムは大きく違うようです。
発展すれば別の形として完成しそうですね。
>>947
いつ頃と比べたのか判りませんけど、私が見た頃と比べれば変わってないみたいです。
URLリンク(www.youtube.com)
というURLで行けます。
私のサイトにあるフィルタ("YouTube: add download link")は一応有効です。
確か、Noriyaさん(パソコン遊戯)も同じようなフィルタを作っていたと思います。
953:名無しさん@お腹いっぱい。
06/11/10 23:22:43 6TNHIzJl0
うそーん。
ちなみにここね。
URLリンク(www.youtube.com)
[Patterns]
Name = "YouTube Add Download Link [060505]"
Active = TRUE
URL = "$TYPE(htm)(www.|)youtube.com/watch\?(|*\&)v="
Bounds = "$NEST(<script,</script>)"
Limit = 512
Match = "(*new\sSWFObject\(\"/player[0-9]+.swf\?(video_id=[^"]+)\0\"*)\1($KEYCHK(Y)"
"$SET(2=<meta http-equiv="Refresh" content="0;URL=URLリンク(youtube.com))|$SET(2=\1))"
Replace = "\2\n<div style="font-size: 20px; font-weight: bold; text-align: center;padding-bottom: 10px;">\n"
"<a href="URLリンク(youtube.com) Download ]]]</a>\n</div>\n$STOP()"
で、DLツールで出力したアドレスはこれ。
URLリンク(v21.youtube.com)
他のフィルタが悪さしてるのかなぁ。
954:think ◆MM0nnAOCiQ
06/11/10 23:45:57 x7d7RZv/0
>>953
大きなファイルですねぇ。
WebブラウザでDLを試行すると、なかなかダウンロードダイアログが出てこないので、Proxomitronで生成したURLをダウンローダに渡したらDL→再生できました。
紹介された「ダウンローダで抜き出したURL」からも何とかダウンローダでDLできました。
ただ単に「DLに時間がかかっているだけ」ということはありませんか?
955:名無しさん@お腹いっぱい。
06/11/11 00:08:53 czo44a500
>953
URLリンク(video.qooqle.jp)
YouTubeはあまり利用していないから、個人的にはここを使っている。
Video URLのところにURLを貼り付けるだけで目的のURIがでてくる。
これじゃだめ?
956:名無しさん@お腹いっぱい。
06/11/11 00:46:36 EzBmzQMj0
>>953
保存できたよ
957:941
06/11/11 00:48:45 6TJk6D750
>>952
乙カレちゃん。 あちきも今からDECを書くところです。
構想は仕上げてあるからあとはフィルターという形に具現化するだけの状態。
まだthink氏がうpされたものを拝見してはおりませぬが動作的には細かな所で
違う動作をするものになると思います。 あと本スレでは失礼しました。
958:941
06/11/11 01:21:55 6TJk6D750
一桁の数字を-1する時に使うリスト。
対象が 0 の場合は 0 のままとし、ログウインドウにエラーを表示する。
- - - - - - - - - - - - - DEC.txt - - - - - - - - - - - -
# NoAddURL
9$SET(vdec=8)
8$SET(vdec=7)
7$SET(vdec=6)
6$SET(vdec=5)
5$SET(vdec=4)
4$SET(vdec=3)
3$SET(vdec=2)
2$SET(vdec=1)
1$SET(vdec=0)
0$SET(vdec=0)$LOG(R[DEC LIST] Erorr : Under Zero)
- - - - - - - - - - - - - DEC.txt - - - - - - - - - - - -
959:941
06/11/11 01:29:21 6TJk6D750
1桁以上の数字を-1するときに使うリスト。
上のリストに同じく 0 は 0 のまま返し、ログウインドウにエラーを表示。
- - - - - - - - - - - - - DECS.txt - - - - - - - - - - - -
# NoAddURL
([0-9]++)\7
([1-9])\9
(^[0-9])
$TST(\9=$LST(DEC))
|
0(0+)\7(^[0-9])
$SET(vdec=0)
$LOG(R[DEC LIST] Erorr : Under Zero)
|
([0-9]++)\7
([1-9])\9
(0+{1,*})\8
(^[0-9])
$TST(\9=$LST(DEC))
$TST(\8=(0$SET(vdec=$GET(vdec)9))+)
&
$SET(vdec=\7$GET(vdec))
- - - - - - - - - - - - - DECS.txt - - - - - - - - - - - -
010 を -1 すると 09 にはならず 009 となる。( 十の位の 0 がそのまま残る )
10 は 09 となるので 9 のみを取り出したい場合は 0 を取り除く処理を自前で用意する必要がある。
グローバル変数 vdec は vinc と同じ名前にしても競合しないので1つにまとめる予定。
960:941
06/11/11 01:37:07 6TJk6D750
INCSとDECSの2つを使えば 0 をまたいだ+-処理も簡単に出来る。
8進数や16進数への対応もリストの少しの書き換えで出来るので色を変えるフィルターなどに応用出来る。
そこらへんは必要性を感じた人が作ればいいと思うので自分はここまでとする。
961:941
06/11/11 01:40:14 6TJk6D750
テスト用フィルター。 テストウインドウに "数字_数字_数字" という書式でテキストを書いてテスト。 例、 10_010_0
[Patterns]
Name = "DECS"
Active = TRUE
Limit = 256
Match = "$LST(DECS)$SET(A=$GET(vdec))_"
"$LST(DECS)$SET(B=$GET(vdec))_"
"$LST(DECS)$SET(C=$GET(vdec))"
Replace = "<--[$GET(A)] [$GET(B)] [$GET(C)]-->"
962:名無しさん@お腹いっぱい。
06/11/11 09:42:37 gxa2hPZC0
>>953
ワシはこうしてる。
[Patterns]
Name = "YouTube Dounload by VideoDownloader"
Active = TRUE
URL = "www.youtube.com/"
Limit = 256
Match = "</table> "
"</form> "
"</div> "
"<!-- end vidFacetsDiv -->"
Replace = "$STOP()"
"<tr><td class="label">File</td>\r\n"
"<td class="tags"><span id="vidTagsBegin"><a href="URLリンク(videodownloader.net)(\u)" target="_blank">VideoDownloader</a></span></td>\r\n"
"</table>\r\n"
"</form>\r\n"
"</div>\r\n"
"<!-- end vidFacetsDiv -->\r\n"
VideoDownloader(URLリンク(javimoya.com))へのリンクを作るフィルタ。
ワンクッション入るけど、保存とかあんまりしないからこれで十分。
963:名無しさん@お腹いっぱい。
06/11/11 13:21:00 6TJk6D750
>>953
youtubeは動画ページを開いてから時間が経つと動画をダウンロード出来なくする規制を入れてたはず。
一旦リロードしてからダウンロードリンクをクリックすればまたダウンロード出来るようになるはず。
今でもこの規制がそのままなのかは確認していない。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5351日前に更新/373 KB
担当:undef