php中用preg-match匹配中文出错,
代码如下:$_char_pattern='/[<>\'\"\\]/';if(preg_match($_char_pattern,"老王")){echo'用户名不得包含敏感...
代码如下:$_char_pattern = '/[<>\'\"\ \ ]/';
if (preg_match($_char_pattern,"老王")) {
echo '用户名不得包含敏感字符';
}else {
echo '恭喜正确';
}
运行代码总是输出:用户名不得包含铭感字符; 展开
if (preg_match($_char_pattern,"老王")) {
echo '用户名不得包含敏感字符';
}else {
echo '恭喜正确';
}
运行代码总是输出:用户名不得包含铭感字符; 展开
推荐于2018-04-12
展开全部
<?php
//示例代码:
$str = 'hello 这里是php preg_match正则匹配演示';
// UTF8编码:正则表达式匹配中文;
if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
// GB2312,GBK编码:正则表达式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
//示例代码:
$str = 'hello 这里是php preg_match正则匹配演示';
// UTF8编码:正则表达式匹配中文;
if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
// GB2312,GBK编码:正则表达式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
追问
复制的吧,看看题目好么?
展开全部
匹配中文时,模式后面加一个'u',就好了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
尽量不要正则匹配汉字,如果一定要用汉字,用Unicode
追问
大神求解决方案,我用来过滤网站注册用户名的。
追答
你可以把用户名unicode一下再匹配
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询