本帖最后由 callmehare 于 2011-01-15 22:13:54 编辑

解决方案 »

  1.   

    何不反过来考虑
    $match = "\W";
      

  2.   


    $chstr="<a>我靠你妈afeowahgieawhjo我日你妈fawgwea我靠aghoiawghowi我日</a>";
    $match="/[我靠你妈|我日你妈|我靠|我日]/";
    $chstr=preg_replace($match,"",$chstr);
    echo $chstr;
    要过滤的词直接按照那样填上去就行
      

  3.   

    \W=[A-Za-z0-9_] 不能匹配特殊字符 我要把网页里的中文全部替换成别的
      

  4.   

    http://topic.csdn.net/u/20080109/16/4527f115-2709-4df6-b4c6-805c37a4664b.html 试试吧
      

  5.   


    $chstr="<a>河蟹社会afeowahgieawhjozf候蛇fawgwea维稳aghoiawghowi我日</a>";
    $match="^[\u4e00-\u9fa5]{1,5}$",
    $chstr=preg_replace($match,"",$chstr);
    echo $chstr;
      

  6.   


    $chstr="<a>河蟹社会afeowahgieawhjozf候蛇fawgwea维稳aghoiawghowi我日</a>";
    $match="^[\u4e00-\u9fa5]{1}$",
    $chstr=preg_replace($match,"",$chstr);
    echo $chstr;必须可以,这个
      

  7.   

    $match="^[\u4e00-\u9fa5]{1,5}$",
    删掉这个
      

  8.   


    $str = "<a>河蟹社会afeowahgieawhjozf候蛇fawgwea维稳aghoiawghowi我日</a>";
    $part = "/[\x80-\xff]/";//匹配双字节
    $str = preg_replace($part,"",$str);
    echo $str;
      

  9.   

    不同的编码,中文的编码范围都不同
    #9的是utf-8传输码,unicode字符集的编码范围
    #13的是gb2312
      

  10.   

    $chstr="<a>河蟹社会afeowahgieawhjozf候蛇fawgwea维稳aghoiawghowi我日</a>";
    $cnUtf8 = "#[\x{4e00}-\x{9fa5}]+#u";
    //$cnGBK  = "#[\x80-\xFF]+#";
    //$chstr  = iconv('utf-8','gbk//ignore',$chstr);
    $chstr=preg_replace($cnUtf8,"",$chstr);
    echo $chstr;