//定义编码

header( 'Content-Type:text/html;charset=utf-8 ');

$words=array('我','你','他');

$content="测一测我是不是违禁词";

$banned=generateRegularExpression($words);

//检查违禁词

$res_banned=check_words($banned,$content);

write_html($content,$res_banned);

/**

* @describe 数组生成正则表达式

* @param array $words

* @return string

*/

function generateRegularExpression($words)

{

$regular = implode('|', array_map('preg_quote', $words));

return "/$regular/i";

}

/**

* @describe 字符串 生成正则表达式

* @param array $words

* @return string

*/

function generateRegularExpressionString($string){

$str_arr[0]=$string;

$str_new_arr= array_map('preg_quote', $str_arr);

return $str_new_arr[0];

}

/**

* 检查敏感词

* @param $banned

* @param $string

* @return bool|string

*/

function check_words($banned,$string)

{ $match_banned=array();

//循环查出所有敏感词

$new_banned=strtolower($banned);

$i=0;

do{

$matches=null;

if (!empty($new_banned) && preg_match($new_banned, $string, $matches)) {

$isempyt=empty($matches[0]);

if(!$isempyt){

$match_banned = array_merge($match_banned, $matches);

$matches_str=strtolower(generateRegularExpressionString($matches[0]));

$new_banned=str_replace("|".$matches_str."|","|",$new_banned);

$new_banned=str_replace("/".$matches_str."|","/",$new_banned);

$new_banned=str_replace("|".$matches_str."/","/",$new_banned);

}

}

$i++;

if($i>20){

$isempyt=true;

break;

}

}while(count($matches)>0 && !$isempyt);

//查出敏感词

if($match_banned){

return $match_banned;

}

//没有查出敏感词

return array();

}

/**

* 打印到页面上

* @param $filepath

* @param $res_mingan

* @param $res_banned

*/

function write_html($content,$res_banned){

print_r($content);

if($res_banned){

print_r(" 违禁词(".count($res_banned)."):".implode('|',$res_banned));

}

echo "
";

}

php mysql敏感词_php查找/过滤一段文字中的违禁词敏感词相关推荐

  1. php查找/过滤一段文字中的违禁词敏感词

    <?php//定义编码 header( 'Content-Type:text/html;charset=utf-8 '); $words=array('我','你','他');$content= ...

  2. 查找一段文字中最长的重复字串 – 编程珠玑(排过序的后缀数组的应用)

    转自:https://www.cse.msu.edu/~liyang5/?p=53 <编程珠玑>在第15章"珍珠字符串"一节,给出了一个非常漂亮的实现 – 基于目标字符 ...

  3. python 词库 匹配_python从一段文本中找出存在于词库的词语

    python从一段文本中找出存在于词库的词语 有现成的库吗? 可能不是最佳答案,只是提供一个思路. 个人觉得这个问题并不需要什么库,先把词库载入,弄成列表什么的.然后再把你需要匹配的文本读入,反过来想 ...

  4. mysql 过滤微信昵称表情_PHP正则过滤处理微信昵称中emoji字符的方法

    本文实例讲述了PHP正则过滤处理微信昵称中emoji字符的方法.分享给大家供大家参考,具体如下: 今天刚做了一个微信应用,在获取微信昵称的过程中报错了,经查原因是微信昵称中包含emoji字符,在写入数 ...

  5. vue实现对一段文字中违禁词的校验

    <template><div><ks-dialogref="categoryDialog"title="不建议使用词排查入口"cl ...

  6. 基于布隆过滤器实现敏感词识别和过滤

    在当前的网络环境下,敏感词过滤已经是各大网站的"标准配置",如果不想被大量的垃圾信息充斥,除了使用机器人识别.验证码等验证工具,还需要阻止含有敏感词内容的发布,否则可能面临关站等风 ...

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

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

  8. php mysql敏感词_PHP违禁词敏感词 全站文件扫描

    全站违禁词扫描下载地址 https://files.cnblogs.com/files/kingchou/%E8%BF%9D%E7%A6%81%E8%AF%8D%E7%B1%BB%E6%96%87%E ...

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

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

最新文章

  1. Linux内存管理-高端内存(一)
  2. java final
  3. 【正一专栏】欧洲五大联赛猜想(二)西甲冠绝欧洲英超继续混战
  4. 进程间通信管道进阶篇:linux下dup/dup2函数的用法
  5. Gridiew——表的内容居中
  6. 基于JAVA+SpringMVC+MYSQL的学生信息管理系统
  7. Cisco vlan + vtp 配置实例
  8. PHP中利用Ffmpeg获得flv视频缩略图和播放时间
  9. java模拟键盘操作,java自动化操作
  10. 【RLchina第五讲】Control as Inference
  11. php 实现心芯图案,利用php输出不同的心形图案,php心形图案
  12. 纯CSS实现立体感圆盘(立体化按钮),点击有图
  13. 香港、澳门通行证网上申请
  14. java必背综合知识点总结(基础篇)
  15. MUSCI算法估计空间方位角
  16. 不变初心数 (15 分)
  17. 什么是桌面虚拟化,实施桌面虚拟化有什么好处?
  18. 多台主机共享一套鼠标键盘(跨屏鼠标键盘)
  19. Flutter实战项目-第八篇 监听键盘弹起
  20. md开源云笔记php,推荐一款开源的云笔记 – Leanote(蚂蚁笔记)

热门文章

  1. 圆拟合算法-加权平均法
  2. WebRecon v1.0 旁注终结者
  3. 【调剂】江苏科技大学2022年硕士研究生招生调剂预告
  4. React表单 (受控组件,非受控组件)
  5. 常见的6种数据分析图表,告诉你如何更好地分析它们
  6. 梵想 S690MQ 4TB固态尝鲜,我的磁盘空间又充裕了
  7. 6.Emmet 语法与快速格式化代码
  8. cimiss数据_气象现代化成果汛期应用系列报道_中国气象网
  9. uniapp 小程序uni.getLocation()不能返回中文地理位置
  10. 信息学奥赛一本通:1012:计算多项式的值