| <?
# ソースコードは、 Shift_JIS で保存します
foreach( $_POST as $Key => $Value ) {
$_POST[$Key] = str_replace("\\\\", "\\", $Value );
$_POST[$Key] = str_replace("\\'", "'", $_POST[$Key] );
$_POST[$Key] = str_replace("\\\"", "\"", $_POST[$Key] );
}
mb_language( "ja" );
mb_internal_encoding("EUC-JP");
if ( $_POST['send'] != "" ) {
$sock = fsockopen("www.excite.co.jp", 80, $errno, $errstr, 30);
if (!$sock) {
die("$errstr ($errno)\n");
}
$data = urlencode( $_POST['text'] );
$data = "before=$data&wb_lp=JAEN&start=%96%7C+%96%F3&after=";
$data_len = strlen($data);
# POST コマンドの出力です
fwrite($sock, "POST http://www.excite.co.jp/world/english/ HTTP/1.0\r\n");
fwrite($sock, "Referer: http://www.excite.co.jp/world/english/\r\n");
fwrite($sock, "Content-Type: application/x-www-form-urlencoded\r\n");
fwrite($sock, "Host: www.excite.co.jp\r\n");
fwrite($sock, "Content-Length: $data_len\r\n");
fwrite($sock, "\r\n");
fwrite($sock, $data );
# 上記処理で既にレスポンスは PHP が取得しています。
# 仕様にあわせて、何も無い行までを取得します
$headers = "";
while ($str = trim(fgets($sock, 4096))) {
$headers .= "$str\n";
}
# HTML 部分の取得です。( euc-jp のデータです )
$body = "";
while (!feof($sock)) {
$body .= fgets($sock, 4096);
}
fclose($sock);
$pattern = '/<textarea cols=36 rows=15 name="after"';
$pattern .= ' wrap="virtual" style="width:320px;">([^<]*)</';
preg_match_all($pattern, $body, $matches );
$English = $matches[1][0];
}
?>
<HTML>
<HEAD>
<META http-equiv="Content-type" content="text/html; charset=Shift_JIS">
</HEAD>
<BODY>
<FORM
method="POST"
>
<TEXTAREA name="text" cols="80" rows="10"><?= $_POST['text'] ?></TEXTAREA>
<INPUT type="submit" name="send" value="送信">
</FORM>
<PRE>
<?= $English ?>
</PRE>
</BODY>
</HTML>
| |