#!/usr/bin/perl #libwww-perlを使うための呪文。 use LWP::Simple; #getで指定した部分を取り込む。%codeになってる部分はデコードする。余計な物はとる。 $url = $ENV{QUERY_STRING}; $url =~ s/%(..)/pack("C",hex($1))/eg; $url =~ s/^url=//; $url = "http://www.ottosei.com" if $url eq ""; unless($url =~ m|^http://|){ $url = "http://".$url; } my ( $protocol, # プロトコル( http 固定 ) $host, # ホスト名 $port, # ポート番号 $path, # パス $file, # ファイル $fragment # フラグ又は CGI の GET データ ); if($url=~m@^http://([^:/]*)?(:(\d+))?(/([^/]+/)*)?([^/#\?]*)?([#\?](.*))?$@){ ( $protocol, $host, $port, $path, $file, $fragment )=( 'http', $1, $3, $4, $6, $7 ); } if($path eq ""){$path = "/"} #ここで元原稿を取り込む。 $doc = get $url; #SJIS,JIS,EUC -> SJIS。文字コードは何でもかんでもS_JISにしちゃう。ユニコードにしたほうがいいような気もするけど、まあいいよね多分。 use Jcode ; $doc = jcode($doc)->h2z->sjis; #$doc =~ s/\r\n/\n/g; # Win→Unix ここらへん別にいらないけど歴史的事情で #$doc =~ s/\r/\n/g; # Mac→Unix はいってます。消しても全然かまわない。 $doc =~ s/[\n\r]//g; #↑改行は全部とってしまう。そうしたほうがあとの記述がラクだったのね。 #センター揃えは鬱陶しいので排除。 $doc =~ s|||gi; $doc =~ s|align=\"?center\"?||gi; $doc =~ s|align=\'?center\'?||gi; #リンクのパスの書き換え。 $ENV{REQUEST_URI} =~ s/\?.*//; $doc =~ s|href=\"http|href=\"http://$ENV{HTTP_HOST}$ENV{REQUEST_URI}?http|gi; $doc =~ s|href=\"(?!http)|href=\"http://$ENV{HTTP_HOST}$ENV{REQUEST_URI}?http://$host$port$path|gi; #絵のパスをかえる。 $doc =~ s|src\s*=\s*\"http|src=\"http|gi; $doc =~ s|src\s*=\s*\"(?!http)|src=\"http://$host$port$path|gi; #$doc =~ s|margin-right|margin-left|gi; $doc =~ s|align=\"?right\"?|align=\"left\"|gi; #タイトルを少しだけいぢるため元のタイトルをとりこんでおく。 if ($doc =~ /(.*)<\/title>/i){ $title = $1; } $doc =~ s|.*<body.*?>||i;#もとのヘッダは消してしまう。 #$doc =~ s|class=\"[^\"]*\"|class=\"content\"|g;#各種クラスも全部縦書きにしちゃう。 ##テーブルはグシャグシャになるので先につぶしてしまう。 $doc =~ s|</?table.*?>||ig; $doc =~ s|</?th.*?>||ig; $doc =~ s|</?td.*?>||ig; $doc =~ s|</?tr.*?>||ig; $doc =~ s|</?div.*?>||ig; #ヘッダの出力。 print <<_HEAD; Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja" > <head> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <META NAME="Author" CONTENT="micmic"> <LINK REL="NEXT" HREF="http://micmic.s11.xrea.com/index.html"> <LINK REV="MADE" HREF="mailto://micmic\@osk.3web.ne.jp"> <TITLE>$titleのたてがきだああぁぁぁ
_HEAD #####加工した本文を流す。 print $doc;