PHP UTF8 preg_match输出在实时服务器上不同

时间:2013-04-16 11:34:48

标签: php utf-8 preg-match utf

使用preg_match('/^[\w-]+$/u', $value)时,我的开发服务器(5.3.15)对于变音字词返回true。我的实时服务器(5.3.2-1ubuntu4.19)返回false。

我需要做些什么才能使实时服务器的行为与我的开发服务器相同? (不幸的是,我不能简单地更新php版本。)

两台机器上的代码完全相同。两者都以UTF8的形式提供页面。

1 个答案:

答案 0 :(得分:0)

\w定义为[A-Za-z0-9_] iirc。

尝试preg_match('/^[\pL-]+$/u', $value)

http://php.net/manual/en/regexp.reference.unicode.php