PHP的一个过滤敏感词或脏话的方法

主要使用了  int substr_count ( string haystack, string needle [, int offset [, int length]] )  这个方法,这个方法遍历待测的字符串$str中有没有$allergicWord数组中所包含的敏感词:

 

      $allergicWord = array('脏话','骂人话');

      $str = '这句话里包含了脏话和骂人话';

 

      for ($i=0;$i<count($allergicWord);$i++){
       $content = substr_count($str, $allergicWord[$i]);
       if($content>0){
        $info = $content;
        break;
       }
      }

 

     if($info>0){
      //有违法字符
      return TRUE;
     }else{
      //没有违法字符
      return FALSE;
     }

 

 

如果需要将出现的敏感词替换,比如替换###或者***可以结合substr_replace ( mixed string, string replacement, int start [, int length] )方法使用

你可能感兴趣的:(PHP的一个过滤敏感词或脏话的方法)