現在網路資訊監管很嚴格,特別是屏蔽關鍵字。特別是現在WEB2.0時代,網站的內容幾乎都是來自網友發布,站長管理即可。如果你希望別人在你網站上禁止發布某個關鍵字,那就需要預先做處理。用PHP做關鍵字屏蔽的功能樣式有多種多樣,如正規是最普遍的一種,這裡就不一一例舉,本文介紹兩種屏蔽關鍵字的實作方法
第一種方法
思路用正則去匹配關鍵字,把關鍵字用別的字符替換
$str = "/你大爷|你麻痹|什么玩意|SB|你他妈/"; // 关键字正则字符串 $string = "你他妈干什么玩意了 SB"; // 文本字符串 echo preg_replace($str, "*", $string); //preg_replace() 执行一个正则表达式的匹配和替换
OK 方法一結束 挺簡單把 大家在看的時候可以依照思路自己先去想
方法二
#思路
1.把關鍵字放到一個txt文檔中要用一定的符合分隔開,用file_get_contents() 函數將關鍵字文檔讀入
2.用函數explode() 把字串分割成數組 循環數組strpos() 尋找匹配關鍵字
代碼
header('content-type:textml; charset=utf-8;'); function strPosFuck($content) { $fuck = file_get_contents('keyWords.txt'); // 读取关键字文本信息 $content = trim($content); $fuckArr = explode("\n",$fuck); // 把关键字转换为数组 for ($i=0; $i < count($fuckArr) ; $i++) { // $fuckArr[$i] = trim($fuckArr[$i]); if ($fuckArr[$i] == "") { continue; //如果关键字为空就跳过本次循环 # code... } if (strpos($content,trim($fuckArr[$i])) != false) { return $fuckArr[$i]; //如果匹配到关键字就返回关键字 # code... } } return false; // 如果没有匹配到关键字就返回 false } $content = "我今天你大爷碰到一个SB"; $key = strPosFuck($content); if ($key) { echo "存在关键字".$key; # code... } else { echo "OK"; }
注意點 一定要去空 一定要去空,
strops () 函數回傳值要嘛是false 要嘛就是關鍵字的位置判斷的時候注意
成功後大家可以想想怎麼把匹配到的關鍵字全部回傳組成一個字串或是數組
以上是php 屏蔽關鍵字的方法程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!