我有一个UTF-8字符串。
$string = "ãçé êíõ";
我需要找到空间的位置。
我必须使用mb_strpos($string,' ');
?
答案 0 :(得分:3)
如果要查找空间的字符位置,则为是。 strpos
不会这样做,因为字节值0x20
(空格的UTF-8代码点)也可能作为代码点encoded over multiple bytes的一部分遇到。
此外,请不要忘记指定编码 - 明确地在mb_strpos
电话上或通过mb_internal_encoding
设置默认值。
答案 1 :(得分:2)
请注意,仅使用mb_strpos
可能还不够 - 有几个代码点显示为空格。参见例如this list - 第二个最常见的空格字符(默认ASCII空间U+0020
的第二个,十进制32
)是不可破解的空格(U+00A0
);您可能还需要检查那个 - 或者将其替换为“通常”空格字符。