[PHP-users 12310] Re: PHPによる全角判定

moe php-users@php.gr.jp
Tue, 24 Dec 2002 01:57:42 +0900


三村様、ご返答ありがとうございます。

>mb_detect_encoding()
>を使って、ASCIIだったら半角のみ、それ以外なら全角ってのはダメですかね?

んー、この場合「半角カナ」も全角として扱われてしまうのでしょうか。
その場合はちょっと都合が悪いです。


それ以前に、調べていて思ったのですが

/* -----------------------------------------
 全角コードチェック
 return ture : 全角コードである
   false : 全角コードではない
   -------------------------------------- */
function isZenkakuCode($code) {
 $result = false;

 if(0xa1a1 <= $code && $code <= 0xfefe) {
  $result = true;
 }
 return $result;
}

そして上記の関数を使うルーチン

 if(isZenkakuCode('あ')) {
  echo "全角";
 } else {
  echo "全角以外";
 }

のように、文字と数値を比較するのは、PHPではまずいんではないかと思ったりして
います。
この辺はどうなのでしょうか?
キャラクターコードを得る関数などがあるのでしょうか。うむむ。
アドバイスお願いいたします。

/* --------------------------------
おちゃ
e-mail: moe@yuri.sakura.ne.jp
-------------------------------- */