关于屏蔽字符的问题 $content="姐姐的大鸡巴";$file='pbzf.txt';//屏蔽字库$a=file_get_contents($file);//echo $a;$out = preg_replace("/[$a]/","*",$content);echo $out;输出的是“******************“,但实际应该是输出”姐姐的***“,请教各位代码应该如何修改? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 echo $a; 显示什么 $a是'pbzf.txt'这个文件里的屏蔽字库 $out = preg_replace("/[$a]/","*",$content);这句话的意思是把字符串$a中任意一个字符,并且这个字符包含在$content中,那么就把这个字符替换成“*”如果“姐姐的大鸡巴”都被替换成“*”了,那么可以肯定pbzf.txt字库中一定有“姐”“的”“大”“鸡”“巴”,这5个字符。 昨天在另外一个贴子里已经说了字库的设计很关键,最好用标志符(一般用空格或逗号)隔开各个关键此。读取文本后用explode转换成数组。其实最好的办法是把屏蔽字库设计成一个数组,各个关键字用 “/xxx/”这样的格式,直接引用,效率高,不出错。 $file='pbzf.txt';$out=file_get_contents($file);//echo $out;$c=explode(',',$out);$a=array();foreach($c as $v){ $a[]="/".$v."/i";}print_r($a);我print_r($a)输的是/“xxx”/格式的,如何修改才能成为“/xxx/”这样的啊? 我print_r($a)输的是/“xxx”/格式的,如何修改才能成为“/xxx/”这样的啊?------------------------------------------------------------------说明字库中的格式是:“鸡巴”,“吊”,“操”.......怎么办? 两个方法:一: 把字库中的双引号全去掉,只留逗号作为分割符二: 改代码$file='pbzf.txt';$out=file_get_contents($file);//echo $out;preg_match_all('/"(.*?)"/',$out,$c);//注意这里的双引号,是英文输入法的//如果字库中的双引号是中文输入法的,须改用下面这句代码//preg_match_all('/“(.*?)”/',$out,$c);$a=array();foreach($c as $v){ $a[]="/".$v."/i";}print_r($a); php通过freetds连接sql server问题 请问这个功能怎么实现? 请教一个php基础问题。 关于select 默认值 求PHP编程高手指导 FTP空间怎么用? “phpMyAdmin 高级功能未全部设置,部分功能不可用。要查出原因请点这里。” Linux 下执行php脚本 想请教N人,关于PHP对64位CPU的支持问题,还性能怎么样! 请教!! PDO 可否在 SQL 語句中使用 表名参数 [百度分享]PHP函数的实现原理及性能分析(四)
这句话的意思是把字符串$a中任意一个字符,并且这个字符包含在$content中,那么就把这个字符替换成“*”
如果“姐姐的大鸡巴”都被替换成“*”了,那么可以肯定pbzf.txt字库中一定有“姐”“的”“大”“鸡”“巴”,这5个字符。
字库的设计很关键,最好用标志符(一般用空格或逗号)隔开各个关键此。
读取文本后用explode转换成数组。其实最好的办法是把屏蔽字库设计成一个数组,各个关键字用 “/xxx/”这样的格式,直接引用,效率高,不出错。
$out=file_get_contents($file);
//echo $out;
$c=explode(',',$out);
$a=array();
foreach($c as $v){
$a[]="/".$v."/i";
}print_r($a);
我print_r($a)输的是/“xxx”/格式的,如何修改才能成为“/xxx/”这样的啊?
------------------------------------------------------------------
说明字库中的格式是:“鸡巴”,“吊”,“操”.......怎么办? 两个方法:
一: 把字库中的双引号全去掉,只留逗号作为分割符二: 改代码$file='pbzf.txt';
$out=file_get_contents($file);
//echo $out;
preg_match_all('/"(.*?)"/',$out,$c);//注意这里的双引号,是英文输入法的
//如果字库中的双引号是中文输入法的,须改用下面这句代码
//preg_match_all('/“(.*?)”/',$out,$c);
$a=array();
foreach($c as $v){
$a[]="/".$v."/i";
}print_r($a);