php – 如何使用一个或多个搜索词搜索字符串并在每次匹配后添加
发布时间:2020-12-13 21:33:36 所属栏目:PHP教程 来源:网络整理
导读:给定一个由一个空格分隔的一个或多个搜索字符串的字符串,我想不区分大小写地搜索文本中的匹配项.找到匹配项后,我想在匹配的子字符串后面追加 - . 这就是我尝试过的: 码 public function my_replace(string $fullText,string $searchText){ $searches = expl
给定一个由一个空格分隔的一个或多个搜索字符串的字符串,我想不区分大小写地搜索文本中的匹配项.找到匹配项后,我想在匹配的子字符串后面追加< - . 这就是我尝试过的: 码
public function my_replace(string $fullText,string $searchText){ $searches = explode(' ',$searchText); $replace = array(); foreach ($searches as $i => $search){ $replace[] = $search . '<-'; } return str_ireplace($searches,$replace,$fullText); } 例 echo my_replace('A week ago,Elvis left the Building','elvis left'); 产量 A week ago,elvis<- left<- the Building 期望的输出 A week ago,Elvis<- left<- the Building 所以我想要替换Elvis或elvis,因此替换str_ireplace,但是在输出中我想以与之前相同的方式显示它. tldr; 如果要替换的字符串实际上不是同一个案例,如何用相同的大小写字母替换字符串?这甚至有意义吗? 解决方法
我对你的代码本身进行了一些修改,
这个preg_replace将帮助您解决问题, 片段 function my_replace(string $fullText,string $searchText) { $searches = explode(' ',$searchText); $replace = array(); foreach ($searches as $i => $search) { $fullText = preg_replace("/$search/i","$0<-",$fullText); } return $fullText; } echo my_replace('A week ago,'elvis left'); 这是工作demo. 节目输出
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |