PHP函数 替换指定出现次数的子字符串

来自http://tunps.com/php-function-str-seq-replace

代码:
/**
 * @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);
返回:fdafdsafsa敏感词fdsafdsafdsaf胡萝卜fdsafdsa胡萝卜fdafdsa
str_seq_replace("fdafdsafsa胡萝卜fdsafdsafdsaf胡萝卜fdsafdsa胡萝卜fdafdsa","胡萝卜","敏感词",2);
返回:fdafdsafsa胡萝卜fdsafdsafdsaf胡萝卜fdsafdsa敏感词fdafdsa ———唠嗑儿——– 还有5天考《英美文学选读》,今天浪费了一天搞php批量下载脚本,不说了,断网,看书!

About tunpishuang

just 4 fun·····
This entry was posted in 未分类 and tagged . Bookmark the permalink.

One Response to PHP函数 替换指定出现次数的子字符串

  1. 免费电影 says:

    谢谢,我把这函数套用了

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>