$zh = "fuck,fu ck,fu c k, f_u_c_k"; //假定脏话串
$p = split(",","/".str_rplace(",","/",$zh)."/"));//构造成规则串数组
echo preg_replace($p,"...",$text);//将内容中的脏话替换成...

解决方案 »

  1.   

    <?php
    $dirty = "fuck|fu ck|fu c k|f_u_c_k";
    $str = "fuck your mother";
    $str = preg_replace("/$dirty/","",$str);
    echo $str;
    ?>
      

  2.   

    晕倒,不是这个意思..
    我要得是,不知道用户会输入什么?可能是fuck可能是f u c k可能是更多种变化....
    我要把这些可能,尽可能的敝屏....明白我的意思吗?>
      

  3.   

    就正则肯定可以的........我只要判断有fuck这四个字线.如果中间存在非英文字母就认为是脏话....这样肯定可以的...
      

  4.   


    echo preg_replace("/f[\s\W_]*u[\s\W_]*c[\s\W_]*k/","p",$s);
      

  5.   

    <?
    preg_match("/f[\s\W_]*u[\s\W_]*c[\s\W_]*k/","f u c k",$s);print_r($s);
    ?>可以啦..谢谢...