Heim  >  Artikel  >  Backend-Entwicklung  >  PHP5.2下preg_match 匹配中文问题?

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

WBOY
WBOYOriginal
2016-06-06 20:08:391012Durchsuche

背景说明:
我本地开发环境是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的话我也想不出其它原因了。看看有没有更多高手吧。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn