2017年11月21日 星期二

【PHP】用UTF8將文字一個一個放在陣列中

$a = '每天都要快樂 HAPPY';

$arr = utf8_str_split($a);

print_r($arr);

function utf8_str_split($str, $split_len = 1){
 if (!preg_match('/^[0-9]+$/', $split_len) || $split_len < 1)
  return FALSE;

 $len = mb_strlen($str, 'UTF-8');
 if ($len <= $split_len)
  return array($str);

 preg_match_all('/.{'.$split_len.'}|[^\x00]{1,'.$split_len.'}$/us', $str, $ar);

 return $ar[0];
}

// 結果 Array ( [0] => 每 [1] => 天 [2] => 都 [3] => 要 [4] => 快 [5] => 樂 [6] => [7] => H [8] => A [9] => P [10] => P [11] => Y )