- ベストアンサー
PHP4での文字数のチェックのしたかについて
はじめまして、PHP4の初心者です。 PHP4で、全角/半角の判断または、全角半角それぞれの 文字数を数えさせたいのですが、どのようにしたらいいのか、よくわかりません。 簡単にチェックできる方法がありましたら教えてください。 宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まずマルチバイト文字が扱える環境であることが前提です。 シングルバイト文字を数えるのであれば、 strlen()関数を使います。 $str="abcd"; print strlen($str)."<br>\n"; ---out--- abcd マルチバイト文字を数えたいとき(「あい」を4ではなく2と数えたいとき)は mb_strlen()関数を使います。 strlne()との違いは下記を見てください。 $str="あいうえお"; print strlen($str)."<br>\n" . mb_strlen($str)."<br>\n"; ---out--- 10 5 とこの様に違います。 半角/全角を判断する関数は私は知りません。 もし存在するのであれば、私にも教えてください(^^; 強引にやるのであれば、自分で関数を作ります。 下記の方法は決していい方法じゃありませんが、ぱっと思いついたので書いてみます。 function han_zen($str) { $s1=strlen($str); $s2=mb_strlen($str); ($s1==$s2)?$moji="han":$moji="zen"; return $moji; } ようは、上記の2つの関数を用いて、同じ文字列の文字を数えています。 そして、文字数が同じであれば、それは半角であり、文字数が異なれば全角文字だと言うことです。 もっといい方法は沢山あるでしょうが、取りあえず是では別はつくんじゃないですかね~?(^^;
お礼
回答ありがとうございます。 やっぱり全角半角を判断できるコマンドの様な物は ないのですね。 関数でのやり方も勉強になりました。 strlenやmb_strlenを使ってがんばってみます。