[PHP-users 9723] Re: 文字列の抜き出し

Youichi Iwakiri php-users@php.gr.jp
Wed, 04 Sep 2002 11:27:32 +0900


いわきりです

@ Edwin wrote in <F21aL0XLKQ1cKJsAwJ800008f72@hotmail.com> :
><?php
>  $str = "テストテストテストテストテストテストテスト";
>  $other_str = mb_substr($str, 0, 5,"SJIS");
>  echo $other_str;
>?>
>結果は:
>  テストテス
>もちろん、substr($str, 0, 10)にすればOKですが・・・すべての文字で問題なく動きま
>すかね…数え方もちょっと…

utf-8だったら、違う結果になります。
やるなら、
    $other_str = mb_substr($str, 0, 5,mb_detect_encoding($str));
の方がよろしいかと。

素のsubstrを全く使う必要が無いのであればphp.iniに
mbstring.func_overload = 2 
とする事で、
 strlen()  --> mb_strlen() 
 strpos()  --> mb_strpos() 
 strrpos() --> mb_strrpos() 
 substr()  --> mb_substr() 

上記関数群がオーバーロードされます。

# スレッドが切れる、余計な広告を送りつける様なメーラを使って欲しく
# 無いです。

-- 
Cc:はいりません。MLでのことはMLだけに返していただければそれで十分です。
Youichi Iwakiri