> 백엔드 개발 > PHP 튜토리얼 > PHP5.2下preg_match 匹配中文问题?

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

WBOY
풀어 주다: 2016-06-06 20:08:39
원래의
1050명이 탐색했습니다.

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

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿