如何用数组中的元素替换字符串(#stringA#)?...假设我们有一个文本:
'My shoes are #stringA# but #stringA#'
(相同的字符串 - #stringA#)
使用$ array:
$array[0] = 'comfy';
$array[1] = 'smells horrible';
所以它等于'My shoes are ' . $array[0] . ' but ' . $array[1];
- 我的鞋子很舒服,但闻起来很可怕?
答案 0 :(得分:1)
通常在这种情况下,您使用%s作为字符串替换,然后使用vsprtinf()
将%s的出现替换为数组中的值。但是,在像您这样的简单情况下,您也可以用%s替换搜索字符串并获得相同的效果。例如:
<?php
$string = 'My shoes are #stringA# but #stringA#';
$key = "#stringA#";
$array[0] = 'comfy';
$array[1] = 'smells horrible';
$string = str_replace(array('%', $key), array('%%', '%s'), $string);
$newstring = vsprintf($string, $array);
echo $newstring;
?>
(将%替换为%%是为了避免一般情况下printf符号出现任何问题)