试了几个,都不行啊,还出现一个警告
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3我用的是:/^[\u4e00-\u9fa5]+$/';
中文的匹配表达式该如何书写?还望各位老大帮助!

解决方案 »

  1.   

    不行,这个连  “我们abc"也识别为了全中文
      

  2.   

    你这个会报警的,没有用我需要的是在PHP下~
      

  3.   


    <?PHP 
    echo preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/","123")?"<br>纯中文":"<br>非纯中文";
    echo preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/","啊aaa")?"<br>纯中文":"<br>非纯中文";
    echo preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/","啊啊")?"<br>纯中文":"<br>非纯中文";
    ?>
      

  4.   

    你这个是匹配unicode格式的中文
    如果你的文件是gb2312的,用/[\xa0-\xff]{2}/ 
    如果是utf8的,用/[\xe0-\xef][\x80-\xbf]{2}/
      

  5.   

    $content = '<src="1中2.jpg";中国人;src="2文2.jpg>"';$content = preg_replace('/(src="[^"\']+")/ie', "pre_trim('\\1');", $content);
    function pre_trim($content)
    {
     return preg_replace('/[^\x00-\x7F]+/','',stripslashes($content));
    }echo $content;
    exit;用我以前写的这个;改改就可以了;呵呵;
      

  6.   

    我也碰到这个问题,现在解决了,应该这样写:/[^\x{4e00}-\x{9fa5}]+$/u 
      

  7.   

    //来个实例$stra = '我来自中国';               //判断为 chinese,  但后面加上$strb之后变为other
    $strb = '私は音楽が上手です ';      //判断为 other$pat = "/^[\x80-\xff_a-zA-Z0-9]+$/";
    if( preg_match($pat,$stra) )
    echo 'chinese ...';
    else
    echo 'other ... ';
    //由此看来, 要切词之后一个个来匹配, 才分辨出是否纯中文,纯日文
      

  8.   

    $str = "php编程";
    if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
    print("全中文");
    } else {
    print("部分中文");
    }
      

  9.   

    为什么我用这个方法 匹配不到中文呢,把字符串$str中的“php”去掉,依然输出“部分中文”
      

  10.   

    刚刚解决了,不是方法的问题,是我代码本身的php文件不是utf-8格式的 所以没匹配到
      

  11.   


    估计你的PHP文件是ansi编码的,最好在IDE里进行默认设置,设置为UTF-8,这样有利于移植