黑帽联盟

 找回密码
 会员注册
查看: 1472|回复: 0
打印 上一主题 下一主题

[php] PHP屏蔽关键字实现方法

[复制链接]

148

主题

9

听众

337

积分

版主

Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    擦汗
    2018-6-6 11:33
  • 签到天数: 348 天

    [LV.8]以坛为家I

    本文介绍了PHP屏蔽关键字实现方法,一共有两种实现方式,具体如下:

    第一种方法
    思路 用正则去匹配关键字,把关键字用别的字符替换
    1. $str = "/你大爷|你麻痹|什么玩意|SB|你他妈/";  // 关键字正则字符串  
    2. $string = "你他妈干什么玩意了 SB";    // 文本字符串
    3. echo preg_replace($str, "*", $string);    //preg_replace() 执行一个正则表达式的匹配和替换
    复制代码
    OK 方法一结束  挺简单把  大家在看的时候可以根据思路自己先去想

    方法二
    思路
    1.把关键字放到一个txt文档中 要用一定的符合分隔开 ,用file_get_contents() 函数将关键字文档读入
    2.用函数explode() 把字符串分割成数组  循环数组 strpos() 查找匹配关键字
    代码
    1. header('content-type:textml; charset=utf-8;');
    2. function strPosFuck($content)
    3. {   
    4. $fuck = file_get_contents('keyWords.txt');  // 读取关键字文本信息  
    5. $content = trim($content);    $fuckArr = explode("\n",$fuck);  // 把关键字转换为数组  
    6. for ($i=0; $i < count($fuckArr) ; $i++)   
    7. {  
    8. // $fuckArr[$i] = trim($fuckArr[$i]);  
    9. if ($fuckArr[$i] == "") {     
    10. continue;  //如果关键字为空就跳过本次循环   
    11. # code...   
    12. }   
    13. if (strpos($content,trim($fuckArr[$i])) != false)   
    14.   {   
    15.   return $fuckArr[$i];  //如果匹配到关键字就返回关键字     
    16.   # code...     
    17.   }   
    18.   }    return false;  // 如果没有匹配到关键字就返回 false
    19.   }
    20.   $content = "我今天你大爷碰到一个SB";  
    21.   $key = strPosFuck($content);
    22.   if ($key)
    23.   {  
    24.   echo "存在关键字".$key;  
    25.   # code...  
    26.   }
    27.   else
    28.   {   
    29.   echo "OK";
    30.   }
    复制代码
    注意点   一定要去空  一定要去空 ,

    strops() 函数返回值 要么是false 要么就是关键字的位置 判断的时候注意
    成功后大家可以想想怎么把匹配到的关键字全部返回组成一个字符串或者数组

    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部