这个问题询问如何检测 UTF-8 字符串 -如何检测是否必须在字符串上应用 utf8 解码或编码?
解决方案是这样的:
if (preg_match('!!u', $string))
{
// this is utf-8
}
else
{
// definitely not utf-8
}
我一直无法弄清楚如何分解“!!u”表达式。我点击了所有 PHP 的 PCRE 内容,可能错过了“!”的描述。标记和“u”-东西。我尝试通过 perl 的 YAPE::Regex::Explain 运行它(如请解释这个 Perl 正则表达式中所见)并且无法得到有意义的东西 [我不是 perl 专家 - 不知道我是否喂它正确的表达式/字符串]。
那么......究竟是如何preg_match('!!u', $string)
工作的?