/**
* @name str_seq_replace(($heystack,$search,$to,$seq))
* @author tunpishuang <tunps .COM>
* @param $heystack 目标搜索字符串
* @param $search 关键字
* @param $to 替换为
* @param $seq 替换匹配关键字的次序,从0计数
* @return string 替换后的字符串
*/
function str_seq_replace($heystack,$search,$to,$seq){
$arrStar=array();
$sequence=0;
$strCompare=null;
$arr=str_split($heystack);
foreach($arr as $k=>$v){
$len=strlen($search);
while($len>0 && $k<count ($arr)){
$strCompare.=$arr[$k++];
$len--;
}
if($strCompare === $search) $arrStar[]=$k-strlen($search);
$strCompare=null;
}
$replacedStr=substr_replace($heystack,$to,$arrStar[$seq],strlen($search));
return $replacedStr;
}
例子:
str_seq_replace("fdafdsafsa胡萝卜fdsafdsafdsaf胡萝卜fdsafdsa胡萝卜fdafdsa","胡萝卜","敏感词",0);
结果:
dafdsafsa敏感词fdsafdsafdsaf胡萝卜fdsafdsa胡萝卜fdafdsa
str_seq_replace("fdafdsafsa胡萝卜fdsafdsafdsaf胡萝卜fdsafdsa胡萝卜fdafdsa","胡萝卜","敏感词",2);
fdafdsafsa胡萝卜fdsafdsafdsaf胡萝卜fdsafdsa敏感词fdafdsa