[PHP-users 2811] Re: [Q]関数[Strtr()] での文字化け

水迫清仁 php-users@php.gr.jp
Wed, 17 Oct 2001 19:40:33 +0900


On Wed, 17 Oct 2001 19:34:21 +0900
水迫清仁 <mizusako@southwave.co.jp> wrote:
> また、関数[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));
> 
> 以上のような、姑息なロジックで代用しました。
申し訳ありません。まったく違うロジックをペーストしてしまいました。
正しくは、

        $co_trans = array("A","A", "B","B",・・・);

        $num = 0;
        $num = count($co_trans);
        for($i=0; $i<$num - 1; $i = $i + 2){
            $trans_words = str_replace($co_trans[$i], $co_trans[$i + 1],$search_word);
            $search_word = $trans_words;
        }

以上のような感じです。
改良の余地があると思いますが、ご指摘があればよろしくお願いします。


_/_/_/_/_/_/_/_/_/_/_/_/_/
Mizusako
mizusako@southwave.co.jp
_/_/_/_/_/_/_/_/_/_/_/_/_/_