首页 > 开发 > PHP > 正文

php关键字仅替换一次的实现函数

2024-05-04 23:39:58
字体:
来源:转载
供稿:网友
这篇文章主要介绍了php实现每个关键字仅需要替换一次,有时一个项目里面涉及到批量替换关键字的问题,本文针对控制替换次数进行研究,感兴趣的小伙伴们可以参考一下
 

对于批量替换关键字的问题,仅替换而言没什么可说的,但这里需要的是每个关键字仅需要替换一次就可以了。查阅了php相关函数文档,发现php本身是没有函数实现这个功能的,所以不得不自己解决了。总结了几种可行方法,小记一下!
(1)使用 preg_replace 函数实现这个功能,因为 preg_replace 这个函数本身是可以实现控制替换次数的,所以一开始就想到他了,具体实现方法如下:
 

  1. //可以实现替换次数的控制,不仅限于只替换一次,比如$limit为2的时候表示一个词出现很多吃的时候仅替换2次,-1表示全部替换。$search 和 $replace 都可以是字符串或者数组,但必须对应  
  2. function str_replace_limit($search,$replace,$content,$limit=-1){  
  3.   if(is_array($search)){  
  4.     foreach ($search as $k=>$v){  
  5.       $search[$k]='`'.preg_quote($search[$k],'`').'`';  
  6.     }  
  7.   }else{  
  8.     $search='`'.preg_quote($search,'`').'`';  
  9.   }  
  10.   //把图片描述去掉  
  11.   $content=preg_replace("/alt=([^ >]+)/is",'',$content);  
  12.   return preg_replace($search,$replace,$content,$limit);  
  13. }  
?
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表