php正则匹配出错的问题
发现
因为用了laravel4的
Response::json(array())->setCallback('callback')
然后始终报
The callback name is not valid.
然后单独写了个test.php文件测试该语句在不同的机器上测下来的结果不一样。
var_dump(preg_match('/^[$_\p{L}][$_\p{L}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{200C}\x{200D}]*+$/u', 'sad'));
解决
本以为是系统哪边的设置的问题,于是将env
和php -i
的结果都比对了一遍,都一样。后来想到看一下pcre
的版本是否一致pcre-config --version
,结果都是6.6;最后没办法rmp -qa | grep pcre
,好家伙最后的小版本不一样;再然后你懂的,升级了一下pcre就正常了。
附注
- 有问题的版本: pcre-6.6-2.el5_1.7
- 升级后的版本: pcre-6.6-9.el5