我有一个 CentOS 6,其中安装了最新更新并运行 LAMP 堆栈。
一位用户抱怨他的代码不起作用,他正尝试将 preg_match 与 unicode 字符一起使用。
这是不起作用的代码:
$regex = '/\bøl\b/iu';
preg_match($regex, "han drikker øl for sjov", $matches);
print_r($matches);
奇怪的是,这个代码在其他服务器上完全可以正常工作,而我却无法解决这个问题。我尝试了几种方法:
- PCRE 已安装并且支持 UTF-8
- 确保文件确实是 UTF-8
- 尝试设置 mb_regex_encoding
- 我读这问题也是如此,但是它可以在没有这个的其他服务器上工作,就像在我的例子中一样
- mbstring() 已安装
- PHP 版本为 5.3,是 yum 供应商提供的软件包
另外,我刚刚在从源代码手动构建的安装上对其进行了测试,并且它运行良好 - 但我不想手动构建软件包。
有什么建议么?