[PHP-users 2808] Re: [Q]関数[Strtr()] での文字化け
水迫清仁
php-users@php.gr.jp
Wed, 17 Oct 2001 19:34:21 +0900
こんにちは。水迫です。
関数[Strtr()]では、マルチバイトでの変換でおかしくなるようですね。
今回の全角空白を半角空白にするのに、
$trans_str = ereg_replace(" "," ",$input_str);
を利用しました。
また、関数[Strtr()]にて全角文字を半角文字へ変換していたものは、
$trans = array("A","A", "B","B",・・・);
$chk_cnt = 0;
$num = count($trans);
// 入力許可文字数を半角空白に変換して、Trimした文字数をチェック[0:OK / それ以外:NG]
for($i=0; $i<$num; $i++){
$chk_string = $trans[$i];
$chk_str = str_replace($chk_string, " " , $input_string);
$input_string = $chk_str;
}
$chk_cnt = strlen(Trim($chk_str));
以上のような、姑息なロジックで代用しました。
これも、大丈夫なのかどうか怪しいですが。
_/_/_/_/_/_/_/_/_/_/_/_/_/
Mizusako
mizusako@southwave.co.jp
_/_/_/_/_/_/_/_/_/_/_/_/_/_