670 :
心得をよく読みましょう:01/10/14 12:07 ID:XDh/9Jmn
>>669 それは
>>668で訂正したはずだが…。
でも、
>>668もShiftJISの1バイト目の範囲のコードが3個以上の奇数個連続している場合に
マッチしてしまうので不完全だった。
>>670 そう。判定が付くところまでちゃんとさかのぼらないと駄目。
read.cgiはそうなってる。
でもそれって正規表現でできるんだろうか。
あ、今2chに入ってるのはSTRICT_ILLEGAL_CHECK
がオフになってるからURLのリンクについては
チェックしないんだった。
17氏スクリプトで実験した限りでは
my $check = '^|[\0-\177\240-\337]([\201-\237\340-\374]{2})*';
$message =~ s/($check)(https?|ftp|gopher|telnet|whois|news)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)
/$1<a href=\"$3\:$4\" target=\"_blank\">$3\:$4<\/a>/ig;
これでうまくいったけど、どうだろうか。
oがあったほうがいいな。検索パターンは完全に固定してるんだから。
後で参照しないものはbackreferenceを生成しないほうが
効率がいいと思われ
あと_blankを囲む "" は省略可能(詳細はread.cgiスレ参照)。
my $check = '^|[\0-\177\240-\337](?:[\201-\237\340-\374]{2})*';
$message =~ s/($check)(https?|ftp|gopher|telnet|whois|news)\:([\w|\:\!\#\$\%\=\&\-\^\`\\\|\@\~\[\{\]\}\;\+\*\,\.\?\/]+)
/$1<a href=\"$2\:$3\" target=_blank>$2\:$3<\/a>/go;
[\0-\177\240-\337]は[\0-\200\240-\337]のほうがよかった。
1ch でスクリプdのジケーンしてたら速攻デリられた
681 :
心得をよく読みましょう:01/10/15 11:31 ID:BHTBV+wm
683 :
心得をよく読みましょう:01/10/15 17:42 ID:LxQIq/3E
書き込みました。
ってやつのジャンプ先
accuse/index.htmlじゃなくて
accuse/にならないかな
統一性が無いので
684 :
てすとです:01/10/15 18:05 ID:IagS8O8j
685 :
心得をよく読みましょう:01/10/15 18:14 ID:IagS8O8j
あの直リンクを貼るとユーザー設定が異常ですと出て書き込めない板があります。
ブラウザはIE5.5SP2です。
>>684は僕でここでは直リンクできました。
僕は直リン荒らしとかしてないと思うんですがそういう対策でもして弾いてる
のですか?
>685
宣伝厨と同じリモホだから蹴られてる。
688 :
心得をよく読みましょう:01/10/28 01:40 ID:1NnkmcZF
ここで正式に要望してみようか。
現在、クッキーには名前とメールアドレスが生のまま記録
されています。そのため、名前に半角空白や「=」や「;」など
が含まれていると正しく名前欄に記憶されません。
おそらくURLエスケープすると日本語がネスケで文字化け
するからだと思いますが、半角記号だけでもエスケープ
するようにできないでしょうか?
こんな感じ?
s/([^\w\200-\377])/sprintf("%%%02X", unpack("C", $1))/eg;
エスケープ?