[PHP] mb_substr- 中文字串分割

在 php 一般如果我們想將字串分割,可以用 str_split,用法為
array str_split ( string $string [, int $split_length = 1 ] )

  1. $str = "Hello Friend";   
  2. print_r(str_split($str));   
  3. // Array ( [0] => H [1] => e [2] => l [3] => l [4] => o [5] => [6] => F [7] => r [8] => i [9] => e [10] => n [11] => d )   
  4. print_r(str_split($str, 3));   
  5. //Array ( [0] => Hel [1] => lo [2] => Fri [3] => end )  

可是用了中文字,就會變亂碼。
  1. $str = "大家好";   
  2. print_r(str_split($str));  


如果想要在繁體中文使用的話,可以用 mb_substr
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

  1. $str = "大家好";   
  2. print_r(mb_substr($str, 0,2, "utf-8"));//大家  

這樣就可以解決中文亂碼的問題了。

留言