我正在尝试将字符串拆分为数组。我试过 str_split() 但问题是像“äüöÄÜÖß”这样的字符不起作用(它们变成了问号)
所以我试图对 mb_split() 做同样的事情,但我不知道如何获得正确的正则表达式。
你能帮我么?
这是代码:
$arr = mb_split("\.", $str);
你可以试试:
$arr = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
对于/u
修饰符,请参见http://php.net/manual/en/reference.pcre.pattern.modifiers.php:
"u (PCRE8) 此修饰符打开与 Perl 不兼容的 PCRE 的附加功能。模式字符串被视为 UTF-8。此修饰符可用于 Unix 上的 PHP 4.1.0 或更高版本以及 win32 上的 PHP 4.2.3。自 PHP 4.3.5 起检查模式的 UTF-8 有效性。”
行。就是这样:
$arr = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);