1
$str = "I want to eat我要吃飯 , you?你呢?";

出力が欲しい:

array(
0 => I,
1 => want, 
2 => to, 
3 => eat, 
4 => 我, 
5 => 要, 
6 => 吃,
...  ...
);

私は試した :

1

function mb_str_split($str, $length = 1) {
  if ($length < 1) return FALSE;

  $result = array();

  for ($i = 0; $i < mb_strlen($str); $i += $length) {
    $result[] = mb_substr($str, $i, $length);
  }

  return $result;
}
var_dump(mb_str_split($str, 3));

上記の方法は、すべての文字列が繁体字中国語の場合にのみ機能します。

2

preg_match("/\p{Han}+/u", $str, $matches);

上記のメソッドは、中国語の最初の文字列である我要吃飯のみを返します。すべての (我要吃飯, 你呢) を取得するには?

すべてUTF8を使用しています。 
目的の出力を達成するにはどうすればよいですか?

4

1 に答える 1