PHP实现的敏感词过滤方法
时间:2021-09-07
本文章向大家介绍PHP实现的敏感词过滤方法,主要包括PHP实现的敏感词过滤方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
PHP实现的敏感词过滤方法,以下是一份过滤敏感词的编码。有需要可以参考参考。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
/** * @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} ]<br/>" ; if ( $count ==0){ $log .= "暂未匹配到敏感词!" ; } else { $log .= "匹配到 [ {$count} ]个敏感词:[ {$sensitiveWord} ]<br/>" . "替换后为:[ {$stringAfter} ]" ; } return $log ; } |
调用方法
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function testAction(){ $string = 'likeyou小白喜欢小黑爱着的大黄' ; //要过滤的内容 $list = [ '小明' , '小红' , '大白' , '小白' , '小黑' , 'me' , 'you' ]; //定义敏感词数组 $result = $this ->sensitive( $list , $string ); echo ( $result ); die ; //打印结果: /* 原句为 [ likeyou小白喜欢小黑爱着的大黄 ] 匹配到 [ 3 ]个敏感词:[ you,小白,小黑 ] 替换后为:[ like**喜欢*爱着的大黄 ] */ } |
原文地址:https://www.cnblogs.com/xu1115/p/15237002.html
- 传统数据库也能实现区块链存储
- Golang语言社区--Go语言基础第三节常量
- 干货 | 进化策略入门:最优化问题的另一种视角
- 【Golang语言社区】Golang语言面试题
- PHP面向对象核心(一)——序列化与魔术方法
- PHP面向对象核心(二)——继承、多态、接口
- PHP面向对象核心(三)——反射、异常处理
- 理解jquery的$.extend & $.fn.extend用法
- PHP数据结构(一)——顺序结构线性表
- PHP数据结构(二)——链式结构线性表
- 微信小程序防止重复点击,该如何处理?
- CSS常用实例,web前端开发者不知道这些就太low了
- PHP数据结构(三)——运用栈实现括号匹配
- python抓取头条文章
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- Hadoop入门---(wordcount)统计单词出现的次数
- JS去除字符串的空格
- insertionSoft(插入排序) 2.1-1 And 重写insertionSoft 2.1-2
- Swagger-Springboot-mybatis-mysql
- Python+java+websocket+SpringMVC实时监控数据库中的表
- 基于Java图形界面的IPV4与网址的地址解析器
- 如何在千里之外能访问自己的电脑?(FRP)
- 三分钟Docker-镜像、容器实战篇
- 看懂今天这个!你就是个真正的javaer!
- 猿进化系列7——一文搞懂IO
- 猿进化系列13——一文搞懂MVC相关框架套路
- 猿进化系列16——实战之一学会SQL开发正确姿势
- 猿进化系列17——实战之一文学会前后端分离套路
- 基于Java的模拟写字板的设计与实现
- 猿思考系列2——一文搞懂同步并发套路