最近在php的项目里,要加入敏感词和谐的功能,如下代码:
<?php
//过滤敏感词
function fiterString($string,$insteadChar){
$filterword=file("filterwords.txt");//获得敏感词库
$string_=$string;
$newstr='';//匹配替代后的最终字符串
$newString='';//每次匹配替代后的字符串
for ($i=0;$i<count($filterword);$i++){
$pos=stripos($string,trim($filterword[$i]));
if ($pos!==false) {
if($string!==$string1){
$newString=$string_;
}else{
$newString=$string;
}
$newstr = str_replace(trim($filterword[$i]),getInsteadChars(trim($filterword[$i]),$insteadChar),$newString);
$string_=$newstr;
}
}
echo $newstr;
}
// 计算中文字符串长度
function utf8_strlen($string = null) {
preg_match_all("/./us", $string, $match);
return count($match[0]);
}
//获得替代字符串
function getInsteadChars($string,$insteadChar){
$count=utf8_strlen($string);
$ii='';
for ($i=0;$i<$count;$i++){
$ii=$ii.$insteadChar;
}
return $ii;
}
?>
大家可以参考下,有什么问题可以留言,一起谈论,谢谢!