用PHP中的字符串数组替换多个通配符实例

时间:2015-09-18 12:33:03

标签: php regex preg-replace str-replace

我有一个包含单个通配符的几个实例的字符串:

  

$ X a $ X让$ X远离。

和包含替换术语的数组:

["apple","day","doctor"]

我想用第一个数组值替换第一个通配符,用第二个数组值替换第二个通配符,给出:

  

每天一个苹果让医生远离我。

对不起,如果有人在其他地方询问过,但我找不到任何带有搜索和多个替换的示例,只有多个搜索多个替换,但通配符没有编号,所以这不合适。

感谢。

2 个答案:

答案 0 :(得分:3)

(s)printf应该做你要求的。

答案 1 :(得分:1)

我可以想到sprintf()list()的两个选项:

$sentence = "An %s a %s keeps the %s away.";
$array = ["apple","day","doctor"];
echo sprintf($sentence , $array[0], $array[1], $array[2]);

// or not a single wildcard.
$array = ["apple","day","doctor"];
list($apple, $day, $doctor) = $array ;
echo "An $apple a $day keeps the $doctor away.";