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

举报
wh_bn 发表于 2021/12/15 22:33:53 2021/12/15
1.5k+ 0 0
【摘要】 /** * @name str_seq_replace(($heystack,$search,$to,$seq)) * @author tunpishuang <tunps .COM> * @param $heystack 目标搜索字符串 * @param $search 关键字 * @param $to 替换为...

      /**
       * @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


文章来源: blog.csdn.net,作者:fengda2870,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/fengda2870/article/details/8440169

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。