我想检测多字节字符串中的空格或连字符。
起初我将一个字符串拆分为字符数组
$chrArray = preg_split('//u', $str, -1, PREG_SPLIT_NO_EMPTY);
然后我尝试将这些符号与连字符或空格进行比较
foreach ($chrArray as $char) {
if ($char == '-' || $char == ' ') {
// Do something
}
}
哦,这个不行。好吧,为什么?也许是因为 ASCII 中的那些符号?
echo mb_detect_encoding('-'); // ASCII
好的,我会努力处理的。
$encoding = mb_detect_encoding($str); // UTF-8
$dash = mb_convert_encoding('-', $encoding);
$space = mb_convert_encoding(' ', $encoding);
哦,但它也不起作用。等一等...
echo mb_detect_encoding($dash); // ASCII
!!!发生了什么???我怎么能做我想做的事?