php批量替换非法敏感信息代码一般的会想到str_replace(),但是如何最简单快速的替换掉敏感词是关键,于是想了个批量替换的方法,那就是
上代码
header("content-type:text/html;charset=utf-8");$content= "坐台小姐的电话的打的费的,禁书,修练";$arr1 = file("./sensitive_word.txt");//敏感词典echo $content = str_replace($arr1,"*",$content);
但是结果还是:
坐台小姐的电话的打的费的,禁书,修练
难道是$arr1有问题?查看了手册后发现,手册里面的数组都是array("a","b","c")这种,
于是稍作改成:
header("content-type:text/html;charset=utf-8");$content= "坐台小姐的电话的打的费的,禁书,修练";$arr1 = array("坐台小姐","的的","测试");//敏感词典echo $content = str_replace($arr1,"*",$content);
其结果是:
*的电话的打的费的,禁书,修练
既然这样可以,猜测是$arr1为索引数组就不行?于是改为:
header("content-type:text/html;charset=utf-8");$content= "坐台小姐的电话的打的费的,禁书,修练";$arr = file("./sensitive_word.txt");$arr1 = array();foreach($arr as $k=>$v){ $arr1["num".$k] = trim($v);}echo $content = str_replace($arr1,"*",$content);
其结果是:
*的电话的打的费的,*,*
结论:str_replace()批量替换时,第一个参数search必须为关联数组或者自定义类似array("a","b","c"),第二个参数replace可以是字符串或者是关联数组或者是自定义类似array("a","b","c")
最后附上全局初始化替换敏感词方法:
敏感词词典

php批量替换非法敏感信息代码标题图片