PHP屏蔽關(guān)鍵字實(shí)現(xiàn)方法
本文介紹了PHP屏蔽關(guān)鍵字實(shí)現(xiàn)方法,一共有兩種實(shí)現(xiàn)方式,具體如下:
第一種方法
思路 用正則去匹配關(guān)鍵字,把關(guān)鍵字用別的字符替換
$str = "/你大爺|你麻痹|什么玩意|SB|你他媽/"; // 關(guān)鍵字正則字符串 $string = "你他媽干什么玩意了 SB"; // 文本字符串 echo preg_replace($str, "*", $string); //preg_replace() 執(zhí)行一個正則表達(dá)式的匹配和替換
OK 方法一結(jié)束 挺簡單把 大家在看的時(shí)候可以根據(jù)思路自己先去想
方法二
思路
1.把關(guān)鍵字放到一個txt文檔中 要用一定的符合分隔開 ,用file_get_contents() 函數(shù)將關(guān)鍵字文檔讀入
2.用函數(shù)explode() 把字符串分割成數(shù)組 循環(huán)數(shù)組 strpos() 查找匹配關(guān)鍵字
代碼
header('content-type:textml; charset=utf-8;'); function strPosFuck($content) { $fuck = file_get_contents('keyWords.txt'); // 讀取關(guān)鍵字文本信息 $content = trim($content); $fuckArr = explode("\n",$fuck); // 把關(guān)鍵字轉(zhuǎn)換為數(shù)組 for ($i=0; $i < count($fuckArr) ; $i++) { // $fuckArr[$i] = trim($fuckArr[$i]); if ($fuckArr[$i] == "") { continue; //如果關(guān)鍵字為空就跳過本次循環(huán) # code... } if (strpos($content,trim($fuckArr[$i])) != false) { return $fuckArr[$i]; //如果匹配到關(guān)鍵字就返回關(guān)鍵字 # code... } } return false; // 如果沒有匹配到關(guān)鍵字就返回 false } $content = "我今天你大爺碰到一個SB"; $key = strPosFuck($content); if ($key) { echo "存在關(guān)鍵字".$key; # code... } else { echo "OK"; }
注意點(diǎn) 一定要去空 一定要去空 ,
strops() 函數(shù)返回值 要么是false 要么就是關(guān)鍵字的位置 判斷的時(shí)候注意
成功后大家可以想想怎么把匹配到的關(guān)鍵字全部返回組成一個字符串或者數(shù)組
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
用 Composer構(gòu)建自己的 PHP 框架之構(gòu)建路由
本文是構(gòu)建自己的php框架的第二篇,主要為大家來講述如何構(gòu)建路由,非常的詳細(xì),也很易懂,有需要的朋友可以參考下2014-10-10smarty內(nèi)置函數(shù)capture用法分析
這篇文章主要介紹了smarty內(nèi)置函數(shù)capture用法,實(shí)例分析了capture的三種常見用法,需要的朋友可以參考下2015-01-01php使用wangeditor實(shí)現(xiàn)富文本遇見問題及兩種解決方法
在?PowerShell?中使用?npm?install?命令時(shí),命令行解析器可能會將?@?符號解釋為特殊字符,導(dǎo)致出現(xiàn)錯誤,遇到這樣的問題如何解決呢,下面通過本文介紹php使用wangeditor實(shí)現(xiàn)富文本-遇見問題,需要的朋友可以參考下2023-12-12利用 fsockopen() 函數(shù)開放端口掃描器的實(shí)例
下面小編就為大家?guī)硪黄?fsockopen() 函數(shù)開放端口掃描器的實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08