使用数组替换字符串
$array = ['name' => 'John', 'other' => 'I am working'];
$content = "Hi {name}, {other}";
//$expected = "Hi John, I am working";
我需要帮助来创建一个函数,该函数将在字符串中搜索数组键名,并使用数组值替换键名(带有curl括号)的任何实例并返回预期的
答案 0 :(得分:4)
只需创建一个这样的函数
function replace($content, $array)
{
foreach ($array as $key => $val)
{
$content = str_replace('{'.$key.'}', $val, $content);
}
return $content;
}
使用
致电这对您来说非常合适
答案 1 :(得分:0)
使用您提供的内容这是一种非常简单的方法:
foreach ($array as $key => $val){
$content = str_replace('{'.$key.'}', $val, $content);
}
我不确定格式"{$key}"
是否可行,因为大括号可能需要转义,所以我选择使用简单的字符串连接。
答案 2 :(得分:0)
为什么不简单地遍历数组并替换所有内容?
$array = ['name' => 'John', 'other' => 'I am working'];
$content = "Hi {name}, {other}";
foreach ($array as $key => $replacement) {
$content = str_replace('{' . $key . '}', $replacement, $content);
}