68user's page 掲示板

Prev< No. 4839〜4844> Next  [最新発言に戻る] [過去ログ一覧]
No. 4839 # べた 2007/10/04 (木) 09:37:55
>>4837 68user
ありがとうございます。
期待した結果が得られました。

No. 4840 # まるこ 2007/10/11 (木) 10:40:25
はじめまして。
以下のページを見て質問させていただきます。
http://x68000.q-e-d.net/~68user/net/http-1.html

telnet(WindowsXPに標準でついていたものです)で、
% telnet www.cs.gunma-u.ac.jp 80
とコマンドを打っても、コマンドが無効です、と出てしまいます。
ここで詰まってしまって、先へ進めないでいます。
helpを見てみて、openかなと思ったのですが、それでも接続できない状況です。
googleで検索してもみたのですが、要領を得ませんでした・・・
何か解決法はないでしょうか?
プロバイダからは、特別なproxyを使わないと駄目ですとは言われていません。

よろしくお願いします。

No. 4841 # 68user 2007/10/13 (土) 03:22:19
>>4840 まるこ
telnet の起動の仕方を勘違いしているように見えます。

スタート > すべてのプログラム > アクセサリ で
    コマンド プロンプト
を起動します。するとウィンドウが開き
    Microsoft Windows XP [Version 5.1.2600]
    (C) Copyright 1985-2001 Microsoft Corp.

    C:\Documents and Settings\user>
などと表示されるはずです。

ここで
    telnet www.cs.gunma-u.ac.jp 80
とタイプしてください。
    http://x68000.q-e-d.net/~68user/net/win-telnet.html
にあるとおりエコーバックはされませんが、
    GET / HTTP/1.0(Enter)
    (Enter)
とすると取得した HTML が表示されるはずです。「(Enter)」は
XP であれば普通に Enter キー押下でいけると思います。

No. 4842 # yuki 2007/10/16 (火) 20:25:23
はじめまして。
以下のページを参考にさせていただきまして、質問させていただきます。
http://x68000.q-e-d.net/~68user/webcgi/char-code-2.html

以下のように機種依存文字のチェックをさせてみたところ
「丁目」という文字がC3FA CCDCとなり、FACCが90区のチェックに
引っかかってしまいました。

$fradrs = $_POST['adrs'];
$check = mb_convert_encoding($fradrs,'EUC-JP');
if (ereg("\x8E[\xA0-\xDF]|[\xAD\xF9\xFA\xFB\xFC][\xA1-\xFE]", $check)) {

こういった場合はどのように対処したらよいでしょうか。
よろしくお願いします。

No. 4843 # 68user 2007/10/16 (火) 20:41:06
>>4842 yuki
そのページでも紹介していますが、文字単位でマッチさせるために
    http://www.din.or.jp/~ohzaki/perl.htm#JP_Match
という工夫をしています。

PHP であれば mb 系の関数を使えば文字単位で切り出せると思いますが、
いわゆる機種依存文字に対応しているかどうかわからないのでまずは
試してみてください。対応していなければ、上記のようなやり方で
1文字ずつ取り出す必要があるかもしれません。

No. 4844 # yuki 2007/10/19 (金) 14:15:48
>>4843 68user様
ご助言ありがとうございます。
ご案内いただいたページを参考にして以下のように記述したところ
想定通りに動くことを確認できました。

$ascii = '[\x00-\x7F]';
$twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]';
$threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]';

$fradrs = $_POST['adrs'];
$check = mb_convert_encoding($fradrs,'EUC-JP');
if (ereg("^($ascii|$twoBytes|$threeBytes)*(\x8E[\xA0-\xDF]|[\xAD\xF9\xFA\xFB\xFC][\xA1-\xFE])", $check)) {
    echo "マッチしました。\n";

mb系は私の未熟さゆえかうまく動作しませんでした…。
68user様、ありがとうございました。

Prev< No. 4839〜4844> Next  [最新発言に戻る] [過去ログ一覧]