php echo字符串html带有php变量,可以';t中断php字符串


php echo string html with php-variables, can't break the php string

我正在尝试回显phpstring消息。这个php字符串由html和php变量组成,来自一个数据库,我无法更改这些数据。

$name = 'John';
$str = '<b>Hi {$name},</b><br/>How are you?';
echo $str;

所以我试图替换php字符串,但它不起作用。这是我的代码:

$str = str_replace('{', ''' . ', $str);                     
$str = str_replace('}', ' . '' ', $str); 

我得到:<b>Hi' . $name. ',</b><br/>How are you?

我怎样才能得到这样的绳子?

<b>Hi John,</b><br/>How are you?

提前感谢

这样做,您将无法用级联来替换它:

echo str_replace('{$name}', $name, $str);

编辑:

如果你不知道变量的名称,只需使用这个:

echo preg_replace('/'{(.*?)'}/', $name, $str);

它已经在PHP中实现了,你可以直接用双引号写变量,如下所示:

echo "<b>Hi $name,</b><br/>How are you?";

或者对于一些更复杂的变量:

echo "<b>Hi {$user->name},</b><br/>How are you?";