国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP中屏蔽過濾指定關鍵字實現方法總結

2024-05-04 21:58:47
字體:
來源:轉載
供稿:網友

我們經常會發現我們有提交留方的地方就會有很多的來發廣告,后來想做一個屏蔽過濾指定關鍵字的功能,我搜索了幾種方法介紹給大家有需要了解的朋友可參考.

思路:

一、把關鍵字專門寫在一個文本文件里,每行一個,數量不限,有多少寫多少.

二、PHP讀取關鍵字文本,存入一個數組.

三、遍歷關鍵字數組,挨個用strpos函數去看看內容有沒有關鍵字,如果有,返回true,沒有則返回false.

PHP代碼如下:

  1. /* PHP中用strpos函數過濾關鍵字 */ 
  2. // 關鍵字過濾函數 
  3. function keyWordCheck($content){ 
  4. // 去除空白 
  5. $content = trim($content); 
  6. // 讀取關鍵字文本 
  7. $content = @file_get_contents('keyWords.txt'); 
  8. // 轉換成數組 
  9. $arr = explode("n"$content); 
  10. // 遍歷檢測 
  11. for($i=0,$k=count($arr);$i<$k;$i++){ 
  12. // 如果此數組元素為空則跳過此次循環 
  13. if($arr[$i]==''){ 
  14. continue;  
  15. }  
  16. // 如果檢測到關鍵字,則返回匹配的關鍵字,并終止運行 
  17. if(@strpos($str,trim($arr[$i]))!==false){ 
  18. //$i=$k;  
  19. return $arr[$i]; 
  20. }  
  21. // 如果沒有檢測到關鍵字則返回false  
  22. return false; 
  23. }  
  24. $content = '這里是要發布的文本內容。。。';  
  25. // 過濾關鍵字 
  26. $keyWord = keyWordCheck($content); 
  27. // 判斷是否存在關鍵字 
  28. if($keyWord){ 
  29. echo '你發布的內容存在關鍵字'.$keyWord
  30. }else{//開源代碼Vevb.com 
  31. echo '恭喜!通過關鍵字檢測'
  32. // 往下可以進行寫庫操作完成發布動作。 

例子2 ,注,中文關鍵字過濾時使用的關鍵字文件為utf-8編碼,代碼如下:

  1. /** 
  2.  * 被禁止的關鍵字檢測 
  3.  * 
  4.  * @param string $string  要檢測的字符串 
  5.  * @param string $fileName 屏蔽關鍵字文件 
  6.  * @return bool 
  7.  */ 
  8. function banwordCheck( $string$fileName ) 
  9.  if ( !($words = file_get_contents$fileName )) ){ 
  10.   die('file read error!'); 
  11.  } 
  12.  $string = strtolower($string); 
  13.  $matched = preg_match('/'.$words.'/i'$string$result); 
  14.  if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) 
  15.  { 
  16.   if ( strlen($result[0]) == 2 ){ 
  17.    $matched = preg_match('/'.$words.'/iu'$string$result); 
  18.   }  
  19.   if ( $matched && isset($result[0]) && strlen($result[0]) > 0 ) { 
  20.    return true; 
  21.   }else
  22.    return false; 
  23.   }   
  24.  }else
  25.   return false; 
  26.  } 
  27.  
  28. $content = '測試關鍵字'
  29. if ( banwordCheck($content'./banwords.txt') ){ 
  30.  echo "matched! "
  31. }else
  32.  echo "no match! "

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 容城县| 买车| 珠海市| 马关县| 怀宁县| 阿坝| 孟州市| 明溪县| 泾川县| 江安县| 樟树市| 长沙市| 长宁县| 黄冈市| 金溪县| 新安县| 霞浦县| 南涧| 娱乐| 泰和县| 同德县| 石门县| 彭阳县| 大安市| 怀化市| 清苑县| 诸城市| 静安区| 岱山县| 滨州市| 滕州市| 临城县| 陕西省| 台北市| 江口县| 文成县| 宣汉县| 孟州市| 霞浦县| 丽水市| 健康|