首页  >  文章  >  后端开发  >  PHP5.2下preg_match 匹配中文问题?

PHP5.2下preg_match 匹配中文问题?

WBOY
WBOY原创
2016-06-06 20:08:39979浏览

背景说明:
我本地开发环境是5.5,实际运行环境是5.2(没得选择。。。)。

现在同一段正则匹配代码

<code>preg_match("/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u",$name)</code>

5.5可以正常使用,5.2不行。
大概测试了一下,好像是/u这个修饰符的问题。
查了一些资料,/u在linux 下的php4.X就支持了呃。

请问是5.2下有什么设置不对么?

回复内容:

背景说明:
我本地开发环境是5.5,实际运行环境是5.2(没得选择。。。)。

现在同一段正则匹配代码

<code>preg_match("/^[A-Za-z0-9\x{4e00}-\x{9fa5}]+$/u",$name)</code>

5.5可以正常使用,5.2不行。
大概测试了一下,好像是/u这个修饰符的问题。
查了一些资料,/u在linux 下的php4.X就支持了呃。

请问是5.2下有什么设置不对么?

应该不是版本或者语法问题,但是u模式是不能匹配GBK字符集的中文的,所以如果你确认当前网页使用的字符集的编码设置确定是utf-8的话我也想不出其它原因了。看看有没有更多高手吧。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn