php敏感字符串过滤_PHP实现敏感词过滤
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
本文讲述PHP实现的敏感词过滤方法,涉及php字符串正则匹配、分割、转换等相关操作技巧
1、敏感词过滤方法
/**
* @todo 敏感词过滤,返回结果
* @param array $list 定义敏感词一维数组
* @param string $string 要过滤的内容
* @return string $log 处理结果
*/
function sensitive($list, $string){
$count = 0; //违规词的个数
$sensitiveWord = ''; //违规词
$stringAfter = $string; //替换后的内容
$pattern = "/".implode("|",$list)."/i"; //定义正则表达式
if(preg_match_all($pattern, $string, $matches)){ //匹配到了结果
$patternList = $matches[0]; //匹配到的数组
$count = count($patternList);
$sensitiveWord = implode(',', $patternList); //敏感词数组转字符串
$replaceArray = array_combine($patternList,array_fill(0,count($patternList),'*')); //把匹配到的数组进行合并,替换使用
$stringAfter = strtr($string, $replaceArray); //结果替换
}
$log = "原句为 [ {$string} ]
";
if($count==0){
$log .= "暂未匹配到敏感词!";
}else{
$log .= "匹配到 [ {$count} ]个敏感词:[ {$sensitiveWord} ]
".
"替换后为:[ {$stringAfter} ]";
}
return $log;
}
2、调用方法
function testAction(){
$string = 'likeyou小白喜欢小黑爱着的大黄'; //要过滤的内容
$list = ['小明', '小红', '大白', '小白', '小黑', 'me', 'you']; //定义敏感词数组
$result = $this->sensitive($list, $string);
echo ($result);
die;
//打印结果:
/*
原句为 [ likeyou小白喜欢小黑爱着的大黄 ]
匹配到 [ 3 ]个敏感词:[ you,小白,小黑 ]
替换后为:[ like**喜欢*爱着的大黄 ]
*/
}
php敏感字符串过滤_PHP实现敏感词过滤相关推荐
- php+mysql防注入字符串过滤_php 防sql注入过滤代码
我们提供了三个函数不来过滤一些特殊的字符,主要是利用php把sql敏感字符串给过滤掉了,好了下面来看看这款代码吧,有需要的朋友拿去看看,实例代码如下: function phpsql_show($st ...
- php敏感字符串过滤_PHP实现的敏感词过滤方法示例
本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...
- php敏感字符串过滤_PHP实现的敏感词过滤方法
PHP实现的敏感词过滤方法,以下是一份过滤敏感词的编码.有需要可以参考参考. /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数组 * @para ...
- 字符串匹配算法 -- AC自动机 基于Trie树的高效的敏感词过滤算法
文章目录 1. 算法背景 2. AC自动机实现原理 2.1 构建失败指针 2.2 依赖失败指针过滤敏感词 3. 复杂度及完整代码 1. 算法背景 之前介绍过单模式串匹配的高效算法:BM和KMP 以及 ...
- php返回当前字符串把所有敏感词变红,PHP 实现敏感词 / 停止词 过滤(附敏感词库)...
敏感词.文字过滤是一个网站必不可少的功能,如何设计一个好的.高效的过滤算法是非常有必要的.在实现敏感词过滤的算法中,我们必须要减少运算,而 DFA 在 DFA 算法中几乎没有什么计算,有的只是状态的转 ...
- mysql 敏感词_PHP实现的敏感词过滤方法示例
本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...
- 敏感词过滤,PHP实现的Trie树
[转载]敏感词过滤,PHP实现的Trie树 原文地址:http://blog.11034.org/2012-07/trie_in_php.html 项目需求,要做敏感词过滤,对于敏感词本身就是一个CR ...
- Java实现敏感词过滤 - IKAnalyzer中文分词工具
IKAnalyzer 是一个开源的,基于java语言开发的轻量级的中文分词工具包. 官网: https://code.google.com/archive/p/ik-analyzer/ 本用例借助 I ...
- python中哪些词是敏感字词_python实现敏感词过滤的几种方法
1.replace过滤 最简单也是最直接的就是直接循环敏感词,然后使用replace过滤关键词,文章和敏感词少的时候还可以,多的时候效率就真的很一般了. 2.使用正则过滤 有两个技术要点, 1.使用P ...
最新文章
- 2840 页的计算机毕业论文,这位华人小哥的博士论文究竟写了啥?
- linux运维、架构之路-MySQL(一)
- 在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头
- Linux系统编程---11(会话,守护进程,创建守护进程)
- [嵌入式]Ubuntu下mini2440的环境搭建-截图记录-转
- mongodb objectid java_我可以确定字符串是否是MongoDB ObjectID吗?
- 深度学习超参数简单理解:learning rate,weight decay和momentum
- C#字节数组的常用解码处理方法
- 【2019徐州网络赛:M】Longest subsequence(思维+构造)
- 智慧园区中心服务平台建议方案
- 使用 AppFuse 的七个理由学习
- Webservice接口调用工具类
- 401. 二进制手表
- 【C++】C++11 新特性
- Java---设计【运动会成绩管理系统】
- 惊!一文看懂Java NIO读写文件
- Python 机器学习 | 超参数优化 黑盒(Black-Box)非凸优化技术实践
- dds:core:policy
- 微信小程序版狼人杀+服务端系列(1)
- 函隐式声明函数是什么意思
热门文章
- 游戏画质提升1《X战警金刚狼前传》画质增强修改
- 鹏业安装三维算量软件——批量修改工程量
- java 串口 中文乱码_Java 实现 POS 打印机无驱串口打印(解决中文乱码)
- Wine-Staging 5.6 修补游戏补丁
- 小程序scroll-view,滚动到最低_小程序滚动到底部
- 数据类型的基本功能(一)
- 轻松完美-实现ECharts双Y轴左右刻度线一致
- ol3 结构图 仅限ol.source.Source
- android圆环头像,Android实现带圆环的圆形头像
- 悠悠web(1)-HTML基本结构