PHP实现敏感词过滤

为了构建良好的网络环境以及为了大家健康的上网。。。。。。。。编不下去了

反正你知道敏感词过滤一定是要有的,如果没有这东西有关部门不找你喝茶哦!坏笑/坏笑

废话不多说指尖上干货

$fake = file_get_contents('CensorWords.txt'); // 读取关键字文本信息 这个文本就是敏感词的文本网上都有 最好选择最新最全的
$content = trim($content); //一定要去除左右空格  最好就是把所有特殊符号也去掉
$fuckArr = explode("\n",$fake); // 把关键字转换为数组
for ($i=0; $i < count($fuckArr) ; $i++){
    // $fuckArr[$i] = trim($fuckArr[$i]);
    if ($fuckArr[$i] == "") {
        continue; //如果关键字为空就跳过本次循环
    }
    if (strpos($content,trim($fuckArr[$i])) !== false){
        return $fuckArr[$i]; //如果匹配到关键字就返回关键字
    }
}
return false; // 如果没有匹配到关键字就返回 false

这样一个简单的敏感词过滤就有了  

大家也可以通过DFA算法实现

DFA算法(全名:Deterministic Finite Automaton)即有穷自动机。其特征为:有一个有限状态集合和一些从一个状态通向另一个状态的边,每条边上标记有一个符号,其中一个状态是初态,某些状态是终态。但不同于不确定的有限自动机,DFA中不会有从同一状态出发的两条边标志有相同的符号。

简单讲解一下 比如:“坏蛋“是一个敏感词  首先判断“坏”其后跟的是“人”还是“蛋”如果是后者 那么这就是敏感词。

大家可以尝试一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值