如何使用索引逐个字符地迭代UTF-8字符串?
使用方括号运算符访问UTF-8字符串时,$str[0]utf编码的字符包含2个或更多元素。
$str[0]
例如:
$str = "Kąt"; $str[0] = "K"; $str[1] = "�"; $str[2] = "�"; $str[3] = "t";
但我想拥有:
$str[0] = "K"; $str[1] = "ą"; $str[2] = "t";
有可能,mb_substr但是这非常慢,即。
mb_substr
mb_substr($str, 0, 1) = "K" mb_substr($str, 1, 1) = "ą" mb_substr($str, 2, 1) = "t"
是否有另一种无需使用字符就可以逐字符插入字符串的方法mb_substr?
使用preg_split。使用“ u”修饰符,它支持UTF-8 Unicode。
$chrArray = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);