PHP:将多字节字符串(单词)拆分为单独的字符

Pet*_*rim 14 php string mbstring

试图将这个字符串"主楼怎么走"拆分成单独的字符(我需要一个数组)使用mb_split没有运气...有什么建议吗?

谢谢!

use*_*291 24

例如,尝试使用'u'选项的正则表达式

  $chars = preg_split('//u', $string, -1, PREG_SPLIT_NO_EMPTY);
Run Code Online (Sandbox Code Playgroud)


bis*_*sko 9

一个丑陋的方法是:

mb_internal_encoding("UTF-8"); // this IS A MUST!! PHP has trouble with multibyte
                               // when no internal encoding is set!
$string = ".....";
$chars = array();
for ($i = 0; $i < mb_strlen($string); $i++ ) {
    $chars[] = mb_substr($string, $i, 1); // only one char to go to the array
}
Run Code Online (Sandbox Code Playgroud)

您还应该尝试使用mb_split并在其之前设置internal_encoding.