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

前端之家收集整理的这篇文章主要介绍了PHP preg_replace – 使用匹配作为键从数组中查找替换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个字符串,可以包含多个匹配(由百分比标记包围的任何单词)和一个替换数组 – 每个替换的键是正则表达式的匹配.有些代码可能会更好地解释……
$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’.

原文链接:https://www.f2er.com/php/130885.html

猜你在找的PHP相关文章