匹配中文
eregi("[\x80-\xff]",$string);

解决方案 »

  1.   

    关注...想问一下.preg_match_all()
    里面的表达式格式如何写呢?
    例如这句是代表什么呢?   "/([_a-z]\w+)/"
    还有就是格式如何写 "/这里加过滤条件吗?/" 而过滤的条件格式又如何呢?
    例如我要过滤<td width=10%></td>里面的内容...应该怎么写?
      

  2.   

    "/([_a-z]\w+)/"
    指的是匹配以下划线或a-z的小写字母后跟以一个以上单词字符所组成的串。
      

  3.   

    <?php
    $s = "(wwa32 +32+ 我们+dd(_bbb34-c43_cc+1))*ddd/eee"; // 测试表达式
    $d = array("wwa323","_bbb34","c43_cc"); // 有效的字段表
    preg_match_all("/([_a-z]\w+)/",$s,$regs); // 取出变量名
    foreach($regs[1] as $value) { // 检查变量名是否在有效的字段表中
      if(! in_array($value,$d))
        echo "$value 不在字段表中<br>";
    }
    ?> 
    以上代码无法取出中文变量,如$s中的"我们"就无法取出,请问preg_match_all("/([_a-z]\w+)/",$s,$regs);这句该怎么改,才能把中文的变量一同取出!
    谢谢!
    我想把$s中的所有变量:wwa32、我们、dd、_bbb34、c43_cc、ddd、eee取出,与$d字段表中的变量去匹配,如果不在$d字段表中,就返回错误!
      

  4.   

    preg_match_all("/([_a-z\x80-\xff][\w\x80-\xff]+)/",$s,$regs); // 取出变量名[_a-z]\w+ 通用的变量名匹配。各种语言都要求变量名以下划线或字母开始其后可以是下划线或字母或数字的组合通常不支持中文变量名,虽然php支持。