如何用php中的值替换字符串中的变量?

我在数据库中有这样的字符串(实际字符串包含100s的单词和10s的变量)


i am a {$club} fan

我像这样回声这串


 $club = "Barcelona";

echo $data_base[0]['body'];

我的输出是 i am a {$club} fan。我想要 i am a Barcelona fan 我该怎么做?


aluckdog
浏览 1008回答 3
3回答

小唯快跑啊

使用strtr它将转换字符串的一部分。$club = "Barcelona";echo strtr($data_base[0]['body'], array('{$club}' => $club));对于多个值(Demo):$data_base[0]['body'] = 'I am a {$club} fan.'; // Tests$vars = array(  '{$club}'       => 'Barcelona',  '{$tag}'        => 'sometext',  '{$anothertag}' => 'someothertext');echo strtr($data_base[0]['body'], $vars);程序输出:I am a Barcelona fan.

POPMUISE

/** * A function to fill the template with variables, returns filled template. *  * @param string $template A template with variables placeholders {$varaible}. * @param array $variables A key => value store of variable names and values. *  * @return string   */public function replaceVariablesInTemplate($template, array $variables){ return preg_replace_callback('#{(.*?)}#',       function($match) use ($variables){            $match[1]=trim($match[1],'$');            return $variables[$match[1]];       },       ' '.$template.' ');}  
打开App,查看更多内容
随时随地看视频慕课网APP