用PHP屏蔽关键字,敏感词,你用哪些方法

2019-08-23 07:36:09来源:编程学习网 阅读 ()

新老客户大回馈,云服务器低至5折



在文章评论,分享内容中有时候会遇到屏蔽敏感词,关键字等之类的。本文介绍了PHP屏蔽关键字实现方法,一共有两种实现方式,具体如下:

第一种方法

思路 用正则去匹配关键字,把关键字用别的字符替换

$str = "/你大爷|你麻痹|什么玩意|SB|你他妈/";  // 关键字正则字符串   $string = "你他妈干什么玩意了 SB";    // 文本字符串  echo preg_replace($str, "*", $string);    //preg_replace() 执行一个正则表达式的匹配和替换


OK 方法一结束  挺简单把  大家在看的时候可以根据思路自己先去想


方法二

思路

1.把关键字放到一个txt文档中 要用一定的符合分隔开 ,用file_get_contents() 函数将关键字文档读入

2.用函数explode() 把字符串分割成数组  循环数组 strpos() 查找匹配关键字

<?php 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 要么就是关键字的位置 判断的时候注意

成功后大家可以想想怎么把匹配到的关键字全部返回组成一个字符串或者数组



原文链接:http://www.phpxs.com/post/6463/
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:秒杀抢购时的超发,你是如何优化的

下一篇:一个小工具帮你搞定实时监控Nginx服务器