PHP中的preg_match和UTF-8
我正在尝试使用preg_match搜索UTF8编码的字符串。
preg_match('/H/u', "\xC2\xA1Hola!", $a_matches, PREG_OFFSET_CAPTURE);echo $a_matches[0][1];
这应该打印1,因为“H”在字符串“¡Hola!”中的索引1处。但它打印2.所以它似乎并没有将主题视为UTF8编码的字符串,即使我在正则表达式中传递“u” 修饰符。
我在php.ini中有以下设置,其他UTF8函数正在运行:
mbstring.func_overload = 7mbstring.language = Neutralmbstring.internal_encoding = UTF-8mbstring.http_input = passmbstring.http_output = passmbstring.encoding_translation = Off
有任何想法吗?
一只萌萌小番薯