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

PHP preg_replace – 使用匹配作为键从数组中查找替换

发布时间:2020-12-13 14:09:55 所属栏目:PHP教程 来源:网络整理
导读:我有一个字符串,可以包含多个匹配(由百分比标记包围的任何单词)和一个替换数组 – 每个替换的键是正则表达式的匹配.有些代码可能会更好地解释…… $str = "PHP %foo% my %bar% in!";$rep = array( 'foo' = 'does','bar' = 'head'); 期望的结果是: $str = "P
我有一个字符串,可以包含多个匹配(由百分比标记包围的任何单词)和一个替换数组 – 每个替换的键是正则表达式的匹配.有些代码可能会更好地解释……
$str = "PHP %foo% my %bar% in!";
$rep = array(
  'foo' => 'does','bar' => 'head'
);

期望的结果是:

$str = "PHP does my head in!"

我尝试了以下,没有一个工作:

$res = preg_replace('/%([a-z_]+)%/',$rep[$1],$str);
$res = preg_replace('/%([a-z_]+)%/',$rep['$1'],$rep[1],$rep['1'],$str);

因此,我转向Stack Overflow寻求帮助.任何接受者?

echo preg_replace('/%([a-z_]+)%/e','$rep["$1"]',$str);

得到:

PHP does my head in!

见the docs for the modifier ‘e’.

(编辑:李大同)

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

    推荐文章
      热点阅读