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

 更新时间:2015年10月29日 15:46:12   投稿:lijiao  
这篇文章主要介绍了php实现每个关键字仅需要替换一次,有时一个项目里面涉及到批量替换关键字的问题,本文针对控制替换次数进行研究,感兴趣的小伙伴们可以参考一下

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

//可以实现替换次数的控制,不仅限于只替换一次,比如$limit为2的时候表示一个词出现很多吃的时候仅替换2次,-1表示全部替换。$search 和 $replace 都可以是字符串或者数组,但必须对应 
function str_replace_limit($search,$replace,$content,$limit=-1){ 
  if(is_array($search)){ 
    foreach ($search as $k=>$v){ 
      $search[$k]='`'.preg_quote($search[$k],'`').'`'; 
    } 
  }else{ 
    $search='`'.preg_quote($search,'`').'`'; 
  } 
  //把图片描述去掉 
  $content=preg_replace("/alt=([^ >]+)/is",'',$content); 
  return preg_replace($search,$replace,$content,$limit); 
} 

(2)使用substr_replace 函数来实现,不过这里仅能实现仅一次替换

//首先找到关键字所在位置,然后使用 substr_replace(系统函数)进行替换操作 
function str_replace_once($search,$replace,$content){ 
  //把图片描述去掉 
  $content=preg_replace("/alt=([^ >]+)/is",'',$content); 
  $pos=strpos($content,$search); 
  if($pos===false){ 
    return $haystack; 
  } 
  return substr_replace($content,$replace,$pos,strlen($search)); 
} 

`以上就是PHP只替换一次以及控制替换次数的实现函数,希望对大家的学习有所帮助。

相关文章

  • PHP7下安装并使用xhprof性能分析工具

    PHP7下安装并使用xhprof性能分析工具

    这篇文章主要介绍了PHP7下安装并使用xhprof性能分析工具,对性能感兴趣的朋友,可以研究下
    2021-04-04
  • php实现的Curl封装类Curl.class.php用法实例分析

    php实现的Curl封装类Curl.class.php用法实例分析

    这篇文章主要介绍了php实现的Curl封装类Curl.class.php用法,以完整实例形式较为详细的分析了Curl封装类的定义及相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • php实现按天数、星期、月份查询的搜索框

    php实现按天数、星期、月份查询的搜索框

    这篇文章主要介绍了php实现按天数、星期、月份查询的搜索框的相关资料,需要的朋友可以参考下
    2016-05-05
  • snoopy PHP版的网络客户端提供本地下载

    snoopy PHP版的网络客户端提供本地下载

    snoopy是非常不错的模仿网络客户端的php类,但提供本地下载的很少,国外的下载又麻烦而且又慢,所以我弄到本站方便大家下载
    2008-04-04
  • 深入php self与$this的详解

    深入php self与$this的详解

    本篇文章是对php中的self与$this进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP Cookie学习笔记

    PHP Cookie学习笔记

    这篇文章主要为大家分享了PHP Cookie学习笔记,告诉大家什么是Cookie,Cookie的功能有哪些? 如何创建、读取、删除Cookie,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • PHP Session ID的实现原理与实例

    PHP Session ID的实现原理与实例

    这篇文章主要介绍了PHP Session ID的实现原理与实例,帮助大家更好的理解和学习使用PHP,感兴趣的朋友可以了解下
    2021-05-05
  • PHP面向对象五大原则之里氏替换原则(LSP)详解

    PHP面向对象五大原则之里氏替换原则(LSP)详解

    这篇文章主要介绍了PHP面向对象五大原则之里氏替换原则(LSP),较为详细的分析了里氏替换原则(LSP)的概念、原理并结合实例形式分析了php里氏替换原则(LSP)的简单使用方法,需要的朋友可以参考下
    2018-04-04
  • PHP 实现判断用户是否手机访问

    PHP 实现判断用户是否手机访问

    这篇文章主要介绍了PHP 实现判断用户是否手机访问的方法,十分实用的功能,推荐给有需要的小伙伴。
    2015-01-01
  • php输出xml必须header的解决方法

    php输出xml必须header的解决方法

    这篇文章主要介绍了php输出xml必须header的解决方法,以实例形式讲述了php输出xml必须header的情况,是很多php初学者都容易犯的错误,需要的朋友可以参考下
    2014-10-10

最新评论