加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:54:34 所属栏目:PHP教程 来源:网络整理
导读:《PHP实战:php关键字仅替换一次的实现函数》要点: 本文介绍了PHP实战:php关键字仅替换一次的实现函数,希望对您有用。如果有疑问,可以联系我们。 对于批量替换关键字的问题,仅替换而言没什么可说的,但这里需要的是每个关键字仅需要替换一次就可以了.查阅

《PHP实战:php关键字仅替换一次的实现函数》要点:
本文介绍了PHP实战:php关键字仅替换一次的实现函数,希望对您有用。如果有疑问,可以联系我们。

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

//可以实现替换次数的控制,不仅限于只替换一次,比如$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,$limit); 
} 

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

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

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

欢迎参与《PHP实战:php关键字仅替换一次的实现函数》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读