2002-11-07
● [tDiary] 半角カナ
んー、最近日記だけはJIS X 201右寄りな文字を使うのだが (だって自分用だし!)、この tdiary はJIS201カナをご丁寧にもJIS208カナに変換してくれてしまう。なんか設定オプションでJIS201カナを使えるようにならないかな…と思ってソースを開くと、NKFモジュールっぽい。ので、-x を加えた。
ちうわけで、ひそかに要望。
● [鯖管] analogurldecode
某MLで検索用語のデコードほしい、と言われてanalogurldecodeを組み込んでみますた。
…うちのサイト、「重力加速度」で検索にひっかかるんですか、そうですかφ(.. )<br>#しかも結構多い…ためしにgoogle://重力加速度/
ただ、どこでもかしこでもデコードするのはいかがなものかと思いますた。たとえば<a href="">〜</a>
の中とか。ここは一つ、作ってみますか。
● [鯖管][プログラミング] analogurldecode (2)
で、できたのがコレ。
#!/usr/bin/perl use Jcode; sub convert_jp { my ($text, $code) = @_; $code =~ tr/a-z/A-Z/; if($code eq "ISO-2022-JP"){ return Jcode->new($text)->jis; }elsif($code eq "SHIFT_JIS"){ return Jcode->new($text)->sjis; }elsif($code eq "EUC-JP"){ return Jcode->new($text)->euc; } return $text; } sub urldecode{ my ($text, $code, $isurl) = @_; chomp($text); if ($isurl) { if ($text =~ m,^(.*)(<a href=\".+\">)(.+)(</a>.*)$,) { my ($txt, $tag, $urltext, $endtag) = ($1, $2, $3, $4); $urltext =~ s/%([0-9a-f][0-9a-f])/pack("C",hex($1))/egi; $urltext = convert_jp($urltext, $code); return join('', $txt, $tag, $urltext, $endtag, "\n"); } } else { $text =~ s/%([0-9a-f][0-9a-f])/pack("C",hex($1))/egi; return convert_jp($text, $code)."\n"; } return "$text\n"; } $url = 0; $word = 0; $code = ""; while(<>){ if(/<meta http-equiv="Content-Type" content="text\/html; charset=(.*)">/i){ $code = $1; } $url = 1 if /<h2><a NAME="req">/; $url = 1 if /<h2><a NAME="ref">/; $word = 1 if /<h2><a NAME="search.">/; if(/<hr>/){ $req = 0; $word = 0; } if($word == 1 or $url == 1){ print urldecode($_, $code); }else{ print; } }
各自の責任で使ってください。コメントよろ。
● [ネット] FENICS-ROAD2廃止
▼FENICS-ROAD2/3 廃止のお知らせ FENICS-ROAD2/3アクセスポイントを、2002年12月10日に廃止いたします。 それにともない、ROAD2代替アクセスポイントを新設しました。 詳細情報はこちらでご確認ください。 「アクセスポイント一覧」 GO PHONE/nifty:PHONE
寂しくなりますなぁ…もうROAD 4でPPP接続するのにスクリプト*1書かなきゃいけなかったってことすら通じる人がいないんだよなぁ。
*1 * C$sNSP$r ogin: $u$r assword: $p$r$9
(備忘録)
[ツッコミを入れる]