preg_match UTF-8问题

时间:2012-04-04 20:42:47

标签: php preg-match

preg_match("/\b(word1|word2)\b/iu", 'text text text word1 text text');

出于某种原因,上述代码不能在一台服务器上使用希伯来字符,但可以在另一台服务器上使用。可能是什么原因?

3 个答案:

答案 0 :(得分:0)

您是否启用了启用了unicode属性支持的perl兼容正则表达式(PCRE)?那是我的猜测。

答案 1 :(得分:0)

至少在您的服务器上需要Perl兼容正则表达式(PCRE)版本3.9才能在preg_match()函数的模式中使用UTF-8字符

答案 2 :(得分:-1)

尝试preg_match(“/ \ b(word1 | word2)\ b / iu”,utf8_decode('text text text word1 text text'));