Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当使用preg_match('/^[\w-]+$/u', $value)我的开发服务器 ( 5.3.15) 时,对于变音符号返回 true。我的实时服务器 ( 5.3.2-1ubuntu4.19) 返回 false。
preg_match('/^[\w-]+$/u', $value)
5.3.15
5.3.2-1ubuntu4.19
我必须做些什么才能使实时服务器的行为与我的开发服务器相同?(不幸的是,我不能简单地更新 php 版本。)
两台机器上的代码完全相同。两者都以 UTF8 格式提供页面。
\w被定义为[A-Za-z0-9_]iirc。
\w
[A-Za-z0-9_]
试试吧preg_match('/^[\pL-]+$/u', $value)。
preg_match('/^[\pL-]+$/u', $value)
http://php.net/manual/en/regexp.reference.unicode.php