效率对比(12688个字符,替换1次):

  • str_replace: 0.109937906265秒
  • strtr: 0.0306839942932秒
替换结果对比

  • 比如:「张三」、「张三丰」、「张三丰田」 均为违禁词 (为何会有这样的区分?请参见 「法X」、「法Xgong」)
  • 原文:「我今天开着张三丰田去上班 」
  • strtr:「我今天开着****去上班 」(四个词均替换为了*)
  • str_replace:「我今天开着**丰田去上班 」(仅仅替换了第一个匹配项)

所以使用str_replace替换,是不能本质上解决问题。

时间对比:

关键词数量:6712 (无重复)
<?php
$badword = array( '张三','张三丰','张三丰田');
?>
测试文件demo.php

<?php
require('badword.php');
$badword1 =array_combine($badword,array_fill(0,count($badword),'*'));
$bb = '我今天开着张三丰田上班';
$str = strtr($bb,$badword1);
echo $str;
?>
测试结果:我今天开着*上班
分析:strtr函数比str_replace和正则的效率高。

一个高效的敏感词过滤方法(PHP)相关推荐

  1. PHP高效的敏感词过滤方法

    <?php // 测试文件demo.php $badword = array('张三','张三丰','张三丰田' ); // array_combine() 函数通过合并两个数组来创建一个新数组 ...

  2. php敏感字符串过滤_PHP实现的敏感词过滤方法示例

    本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...

  3. PHP实现的敏感词过滤方法

    PHP实现的敏感词过滤方法,有好的编码和好的实现方法,可以发出来一起交流一下.以下是一份过滤敏感词的编码

  4. php敏感字符串过滤_PHP实现的敏感词过滤方法

    PHP实现的敏感词过滤方法,以下是一份过滤敏感词的编码.有需要可以参考参考. /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组 * @para ...

  5. mysql 敏感词_PHP实现的敏感词过滤方法示例

    本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...

  6. 怎么设计高效的敏感词过滤系统(一)

    IM项目需要对上边传输的消息进行必要的过滤.如果总是对着某人输入f**k就显得不太文明了. 一个通用且简单的做法是,设定一批敏感词,如果消息中出现这些词,由系统进行必要的处理.怎么实现这个功能呢? 一 ...

  7. 字符串匹配算法 -- AC自动机 基于Trie树的高效的敏感词过滤算法

    文章目录 1. 算法背景 2. AC自动机实现原理 2.1 构建失败指针 2.2 依赖失败指针过滤敏感词 3. 复杂度及完整代码 1. 算法背景 之前介绍过单模式串匹配的高效算法:BM和KMP 以及 ...

  8. 开源了一个 JavaScript 版敏感词过滤库

    最近在做一个项目,寻遍了 Node 开源社区居然没有发现一个好用的敏感词过滤库,有那么几个库外观上看起来似乎还不错,用起来却一塌糊涂,震惊有余,失望至极.于是花了一天时间自己撸了一个库,库名叫 fas ...

  9. python敏感词过滤replace_Serverless 实战:3 分钟实现文本敏感词过滤

    敏感词过滤是随着互联网社区一起发展起来的一种阻止网络犯罪和网络暴力的技术手段,通过对可能存在犯罪或网络暴力的关键词进行有针对性的筛查和屏蔽,能够防患于未然,将后果严重的犯罪行为扼杀于萌芽之中. 随着各 ...

最新文章

  1. 昆明二级计算机考试报名时间2015,4月15日开始网上报名!云南省2021年上半年中小学教师资格考试(面试)安排来了——昆明广播电视台...
  2. 三家逐鹿,私有化部署能帮神策数据杀出重围么?| 公司调研
  3. Linux Kernel 3.0新特性概览(转)
  4. Laravel 清空配置缓存
  5. 信道效率以及信道的吞吐率
  6. 前端干货之JS最佳实践
  7. 金鹏GB28181平台对接
  8. ctf练习之音频文件
  9. 程序员如何在工作之外获得收入
  10. 单片机MCU OTA升级技术
  11. 基于SVM,KNN,CNN的数字图像识别
  12. OpenModelica模型导入Simulink运行的方法
  13. 【每日函数】每日函数(2021.08.22)
  14. 网易校招流程是怎样的?有哪些常见的笔试面试题?
  15. maxmemory-policy
  16. Minecraft整合包 [GTNH]格雷科技:新视野 服务器搭建教程
  17. 超干货!彻底搞懂Golang内存管理和垃圾回收
  18. iOS 当APP接收到推送消息时,对推送消息进行处理
  19. 前端面试题 Doctype作用是什么?严格模式与混杂模式如何区分?他们之间有何意义?
  20. 系统 应用程序 提示 初始化失败 或 无法加载模块 等错误

热门文章

  1. Win10在桌面上怎么添加此电脑、网络图标、回收站等图标?
  2. Java根据当前日期获取年初,年末,季初,季末,月初,月末日期的方法
  3. SpringCloud_JZZ_MBY
  4. js 原生cookie封装
  5. 【MISCCFTSHOW总结】
  6. 2022.04.14【读书笔记】|转录因子分析
  7. CSDN博客怎么修改皮肤背景?
  8. 解读SAP HANA轻量级应用服务器——XS引擎
  9. project 2016 显示、取消任务序号
  10. 易语言取颜色值与c语言,易语言如何取某坐标颜色值