怎么在PHP中利用大小写敏感函数对敏感关键字进行屏蔽

介绍

这期内容当中小编将会给大家带来有关怎么在PHP中利用大小写敏感函数对敏感关键字进行屏蔽,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

思路:

一、把关键字专门写在一个文本文件里,每行一个,数量不限,有多少写多少。
二,PHP读取关键字文本,存入一个数组
三,遍历关键字数组,挨个用大小写敏感函数去看看内容有没有关键字,如果有,返回真,没有则返回错误的。

PHP代码如下:

代码如下:


/* *
, * PHP中用大小写敏感函数过滤关键字
, *
, */
//关键字过滤函数
函数keyWordCheck(内容){
,,,,,,,//去除空白
,,,内容(内容=削减美元);
,,,,,,,//读取关键字文本
,,,$内容=@file_get_contents (& # 39; keyWords.txt& # 39;);
,,,,,,,//转换成数组
,,,美元arr=爆炸(“\ n",内容美元);
,,,,,,,//遍历检测
,,,(i=0美元,$ k=count (arr)美元;i<美元;$ k;美元我+ +){
,,,,,,,,,,,,,,,//如果此数组元素为空则跳过此次循环
,,,,,,,如果(arr美元($ i)==& # 39; & # 39;) {
,,,,,,,,,,,,,继续,,,,
,,,,,,,}
,
,,,,,,,,,,,,,,,//如果检测到关键字,则返回匹配的关键字,并终止运行
,,,,,,,如果(@strpos (str, arr [$ i])美元!==false) {
,,,,,,,,,,,//i=$ k美元;,,,
,,,,,,,,,,,返回$ arr[我]美元;
,,,,,,,},,,
,,,}
,,,,,,,//如果没有检测到关键字则返回false ,,
,,,返回false;
}
,
,
$内容=& # 39;这里是要发布的文本内容……& # 39;;
,
//过滤关键字
关键字=美元,keyWordCheck(内容)美元;
,
//判断是否存在关键字
如果美元(关键字){
,,,,,,,回声& # 39;你发布的内容存在关键字& # 39;美元关键字;其他
} {
,,,,,,,回声& # 39;恭喜!通过关键字检测& # 39;;
,,,,,,,//往下可以进行写库操作完成发布动作。
}


写完代码后,故意在变量美元内容中写了一个关键字内容,然后运行发现没有检测到关键字,执行结果是通过,换成其它禁止的关键字都通过。

郁闷,开始判断是不是哪里出问题。

编码问题?立即把keyWord.txt文件再次用记事本打开,然后另存为utf - 8格式。结果还是不行。

没有获取到关键字。txt文本内容?立即print_r()发现正常读取并按行转成了数组。

于是,我把关键字数组直接声明写成死的在程序中:

代码如下:


& lt; ? php
/* *
, * php中用大小写敏感函数过滤关键字
, *
, */
//关键字过滤函数
函数keyWordCheck(内容){
,,,,,,,//去除空白
,,,内容(内容=削减美元);
,,,,,,,//读取关键字文本
,,,//$内容=@file_get_contents (& # 39; keyWords.txt& # 39;);
,,,,,,,//转换成数组
,,,//美元arr=爆炸(“\ n",内容美元);
,,,,,,,//直接在程序中声明关键字数组
,,,,,,,$ arr=数组(& # 39;关键字1 & # 39;,& # 39;关键字2 & # 39;,& # 39;关键字3 & # 39;,& # 39;关键字4 & # 39;…);
,,,,,,,//遍历检测
,,,(i=0美元,$ k=count (arr)美元;i<美元;$ k;美元我+ +){
,,,,,,,,,,,,,,,//如果此数组元素为空则跳过此次循环
,,,,,,,如果(arr美元($ i)==& # 39; & # 39;) {
,,,,,,,,,,,,,继续,,,,
,,,,,,,}
,
,,,,,,,,,,,,,,,//如果检测到关键字,则返回匹配的关键字,并终止运行
,,,,,,,如果(@strpos (str, arr [$ i])美元!==false) {
,,,,,,,,,,,//i=$ k美元;,,,
,,,,,,,,,,,返回$ arr[我]美元;
,,,,,,,},,,
,,,}
,,,,,,,//如果没有检测到关键字则返回false ,,
,,,返回false;
}
,
$内容=& # 39;这里是要发布的内容,含有关键字2 & # 39;;
//过滤关键字
关键字=美元,keyWordCheck(内容)美元;
,
//判断是否存在关键字
如果美元(关键字){
,,,,,,,回声& # 39;你发布的内容存在关键字【& # 39;。美元关键字# 39;公司】& # 39;;其他
} {
,,,,,,,回声& # 39;恭喜!通过关键字检测& # 39;;
,,,,,,,null

怎么在PHP中利用大小写敏感函数对敏感关键字进行屏蔽