$str = "伊风网络phplover";
if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str) {
echo "这是一个纯中文字符串";

else 
{
echo "这不是一个纯中文字串";
}
?>

解决方案 »

  1.   

    你后面是一个是可以的啊
    <?php
    if(preg_match("/^[一-龥]+$/","吗"))
    {echo "ture";}
    else
    {echo "false";}
    ?>
      

  2.   

    谢谢楼上的各位~~不过我要问的是为什么/^[一-龥]+$/这个正则在ASP里可以判断,在PHP却无法判断~~而不是问怎么判断中文~~
      

  3.   

    PHP里怎么无法判断了?
    <?php
    if(preg_match("/^[一-龥]+$/","吗"))
    {echo "ture";}
    else
    {echo "false";}
    ?>
    不是运行的好好的吗?
      

  4.   

    正则表达式写作"/^([\x80-\xff].)+$/"在asp中,串是按unicode编码处理的,一个汉字虽然为两个字节但只算做1
    而php是以字节为计算单位的
      

  5.   

    两种正则式在处理字符串上的差异造成的。别说asp和php,JAVA中,使用不同的正则表达式类就会有不同的结果,有时明明一个正则式用这个类是对的,那个就错了,当然了,复杂的才会这样。