PHP中完全匹配中文字符的正则表达式
1、if(!preg_match("/^[\u4e00-\u9fa5]+$/", $艘早祓胂content)){echo "<script language=\"JavaScript\">alert(\"网站关键词输入不合法!\");</script>"; }else{file_put_contents("../_cfg.php",$configs);msg("<a style=\"color:#075587\" href=\"?act=list\">返回网站初始化设置页面</a> ","","");}结果如下,显示:Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3 in /data/home/qxu1084910324/htdocs/op/set.php on line 73,意思是\L等不支持。
2、if(!preg_match("/^[\x4e00-\x9fa5]+$/", $content)){echo "<script language=\"JavaScript\">alert(\"网站关键词输入不合法!\");</script>"; }换成这样显示如下:虽然不出错了,但是依然不能判别。
3、if(!preg_match("/^[\x80-\xff]*^/", $content)){echo "<script language=\"JavaScript\">alert(\"网站关键词输入不合法!\");</script>"; }改成这样匹配所有utf8包括全角和特殊,显示成功,但是由于我必须要排除特殊字符和全角符号,再尝试方法:
4、if(!preg_match("/^[\x{2460}-\x{2468}]+$/u", $content)){echo "<script language=\"JavaScript\">alert(\"网站关键词输入不合法!\");</script>"; }显示错误:
5、if(!preg_match("/^[\x4e00-\x9fa5]+$/u", 改怊眶峋$content)){echo "<script language=\"JavaScript\">alert(\"网站关键词输入不合法!\");</script>"; }这个显示如下:Warning: preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset 6 in /data/home/qxu1084910324/htdocs/op/set.php on line 73,utf8格式字符超过范围。
6、if(!preg_match("/^[\x{4e00}-\x{9fa5}]+$/u", $content)){echo "<script language=\"JavaScript\">alert(\"网站关键词输入不合法!\");</script>"; }显示成功。