PHP屏蔽關鍵字的方法
如何在簡單的站內搜索中,設置關鍵字過濾?以下就是小編精心推薦PHP屏蔽關鍵字實現方法,希望對大家有幫助!
第一種方法
思路 用正則去匹配關鍵字,把關鍵字用別的字符替換
$str = "/你xxx|你xxx|什么xxx|Sx|xxx/"; // 關鍵字正則字符串
$string = "xxx"; // 文本字符串
echo preg_replace($str, "*", $string); //preg_replace() 執行一個正則表達式的匹配和替換
OK 方法一結束 挺簡單把 大家在看的時候可以根據思路自己先去想
方法二
思路
1.把關鍵字放到一個txt文檔中 要用一定的`符合分隔開 ,用file_get_contents() 函數將關鍵字文檔讀入
2.用函數explode() 把字符串分割成數組 循環數組 strpos() 查找匹配關鍵字
代碼
header('content-type:textml; charset=utf-8;');
function strPosf u c k($content)
{
$f u c k = file_get_contents('keyWords.txt'); // 讀取關鍵字文本信息
$content = trim($content); $f u c kArr = explode(" ",$f u c k); // 把關鍵字轉換為數組
for ($i=0; $i < count($f u c kArr) ; $i++)
{
// $f u c kArr[$i] = trim($f u c kArr[$i]);
if ($f u c kArr[$i] == "") {
continue; //如果關鍵字為空就跳過本次循環
# code...
}
if (strpos($content,trim($f u c kArr[$i])) != false)
{
return $f u c kArr[$i]; //如果匹配到關鍵字就返回關鍵字
# code...
}
} return false; // 如果沒有匹配到關鍵字就返回 false
}
$content = "我今天你大爺碰到一個SB";
$key = strPosf u c k($content);
if ($key)
{
echo "存在關鍵字".$key;
# code...
}
else
{
echo "OK";
}
注意點 一定要去空 一定要去空 ,
strops() 函數返回值 要么是false 要么就是關鍵字的位置 判斷的時候注意
成功后大家可以想想怎么把匹配到的關鍵字全部返回組成一個字符串或者數組
【PHP屏蔽關鍵字的方法】相關文章: