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

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

  
  1. /**
  2. * @name str_seq_replace(($heystack,$search,$to,$seq))
  3. * @author tunpishuang <tunps .COM>
  4. * @param $heystack 目标搜索字符串
  5. * @param $search 关键字
  6. * @param $to 替换为
  7. * @param $seq 替换匹配关键字的次序,从0计数
  8. * @return string 替换后的字符串
  9. */
  10. function str_seq_replace($heystack,$search,$to,$seq){
  11. $arrStar=array();
  12. $sequence=0;
  13. $strCompare=null;
  14. $arr=str_split($heystack);
  15. foreach($arr as $k=>$v){
  16. $len=strlen($search);
  17. while($len>0 && $k<count ($arr)){
  18. $strCompare.=$arr[$k++];
  19. $len--;
  20. }
  21. if($strCompare === $search) $arrStar[]=$k-strlen($search);
  22. $strCompare=null;
  23. }
  24. $replacedStr=substr_replace($heystack,$to,$arrStar[$seq],strlen($search));
  25. return $replacedStr;
  26. }


例子:

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

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

全部回复

上滑加载中

设置昵称

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

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

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