主要使用了  int substr_count ( string haystack, string needle [, int offset [, int length]] )  这个方法,这个方法遍历待测的字符串$str中有没有$allergicWord数组中所包含的敏感词:

[php] view plaincopy
  1. $allergicWord = array('脏话','骂人话');
  2. $str = '这句话里包含了脏话和骂人话';
  3. for ($i=0;$i<count($allergicWord);$i++){
  4. $content = substr_count($str, $allergicWord[$i]);
  5. if($content>0){
  6. $info = $content;
  7. break;
  8. }
  9. }
  10. if($info>0){
  11. //有违法字符
  12. return TRUE;
  13. }else{
  14. //没有违法字符
  15. return FALSE;
  16. }

如果需要将出现的敏感词替换,比如替换###或者***可以结合substr_replace ( mixed string, string replacement, int start [, int length] )方法使用

=================================================================

[php] view plaincopy
  1. 关键字的存放形式为txt,txt文件中以这样形式存放:|赌博机|卖血|出售肾|出售器官|眼角膜
  2. <?php
  3. function Filter_word( $str, $fileName )
  4. {
  5. if ( !($words = file_get_contents( $fileName )) ){
  6. die('file read error!');
  7. }
  8. $str = strtolower($str);
  9. //var_dump($words);
  10. $word = preg_replace("/[1,2,3]\r\n|\r\n/i", '', $words);
  11. //$wor = substr($word,0,-1);
  12. //$w = preg_replace("|/|i", '\/', $word);
  13. //echo "<pre>";
  14. //var_dump($w);
  15. //$words = "赌博机|卖血|出售肾|出售器官|眼角膜";
  16. $matched = preg_replace('/'.$word.'/i', '***', $string);
  17. return $matched;
  18. }
  19. $content = "<a href='#'>我要卖血fsdf卖血d 赌博机wo眼口交膜</a>";
  20. if ($result = Filter_word($content, './words.txt') ){
  21. echo $result;
  22. echo "替换成功 ";
  23. }else{
  24. echo "替换失败! ";
  25. }
  26. ?>

PHP的一个过滤敏感词或脏话的方法相关推荐

  1. php敏感字符串过滤_PHP的一个过滤敏感词或脏话的方法

    PHP的一个过滤敏感词或脏话的方法 主要使用了  int substr_count ( string haystack, string needle [, int offset [, int leng ...

  2. 使用过滤器做一个过滤敏感词实例

    做的时候是 想通过Filter的doFilter()方法逻辑处理,简单的实现把字符串中0-9的数字替换为" * ". public void doFilter(ServletReq ...

  3. python过滤敏感词汇_利用Python正则表达式过滤敏感词的方法

    利用Python正则表达式过滤敏感词的方法 问题描述:很多网站会对用户发帖内容进行一定的检查,并自动把敏感词修改为特定的字符. 技术要点: 1)Python正则表达式模块re的sub()函数: 2)在 ...

  4. flex java 全局拦截_flex + java 过滤敏感词

    过滤敏感词这个相对比较容易做到,网上也很多方法,看得比较多的一个方法就是:把所有的敏感词写入到一个properties文件中,程序启动时拼成一个正则表达式.这个也只是比较基础的敏感词过滤器,比较强大的 ...

  5. python过滤敏感词记录

    简述: 关于敏感词过滤可以看成是一种文本反垃圾算法,例如 题目:敏感词文本文件 filtered_words.txt,当用户输入敏感词语,则用 星号 * 替换,例如当用户输入「北京是个好城市」,则变成 ...

  6. ios 弹幕过滤敏感词方案对比和性能测试

    在看视频的过程中, 很多用户会发弹幕, 当前用户可以设置过滤敏感词和敏感用户,  设置后, 命中敏感词和敏感用户的弹幕就不会显示. 敏感词和敏感用户的设置上限为各100. 由客户端进行过滤, 不区分大 ...

  7. C#过滤敏感词DFA算法

    今天游戏正好用到需要过滤敏感词将出现的敏感词替换成*,在网上找了许久找了一片可用的java版本的DFA算法,最后费了一番功夫将其思路用C#实现,里面的注释甚至都没改动的,这里直接上代码,这里不借助任何 ...

  8. 用js模拟一个简单敏感词过滤器

    1.用js模拟一个简单敏感词过滤器 (用户输入的内容中的敏感词替换为*) 例:"今天有个傻子在旁边大喊大叫,影响了我的操作.", 过滤后:"今天有个在旁边大喊大叫,影响了 ...

  9. 第三章:过滤敏感词、帖子管理

    过滤敏感词 根节点没有字符,到最末节点拼起来才是敏感字符,做一个标记在最后. 过滤符号 /* * 过滤敏感词 * 参数:待过滤的文本, 返回过滤后的文本 * */ public String filt ...

最新文章

  1. 批量更新zabbix中的主机名
  2. android 用dx.bat 转换class 为dex
  3. 命犯编程!因为名字特殊,她被苹果封了 6 个月
  4. IDEA设置自定义代码模板
  5. Struts 2基础入门
  6. 前端学习(3253):vs code中组件化编码
  7. 使用JDBC-ODBC桥接方式访问Access数据库(实例)
  8. MinIO客户端快速入门指南
  9. 超详细尚硅谷mysql 分组函数
  10. The binding handle is invalid 绑定句柄无效
  11. Java中的恒等于号怎么输入_Java---java基础语法03---运算符
  12. 读书笔记-穿越计算机的迷雾
  13. ubuntu最好用的划词翻译词典:有道词典和GoldenDict
  14. 阿里面试题 ——输入一个字符串,输出所有的排列
  15. python 更换windows壁纸(简单)
  16. python怎么导出_Python 数据分析(三):数据的导入导出
  17. 基于文心大模型的剧本杀海报生成器(武侠篇)
  18. 英文中常见连读规律总结
  19. matplotlib 点线动画
  20. 模电——电路中电源地、模拟地、信号地的区别与联系

热门文章

  1. 全球十大自行车品牌排行榜MARMOT土拨鼠谈儿童滑步车
  2. 2022 华为 Java 高级面试题及答案
  3. SpringBoot 项目 引入ClassFinal 解决代码加密和机器码绑定问题
  4. Openv和Tensorflow中的image相互转换
  5. AirPrint的iPad的优点和缺点
  6. 中国人是地球上的“阿凡达”
  7. Oracle服务端配置IP,修改主机和服务器的 IPv6 接口配置
  8. 用Python写《我的世界》
  9. 国产操作系统优麒麟安装
  10. 嵌入式C语言面向对象编程 --- 封装