是这样的:我从mysql数据库中查询除了一条记录,这个记录里面包含了 {$aaa}、{$bbb}等变量,
现在想在输出前给这两个变量赋值,但是输出的结果还是变量。
例如:
$rs_sql =mysql_query("select content from table where  id ='1'");
$row_rs_sql = mysql_fetch_array($rs_sql);
//////content字段的内容是:您好 {$aaa},好久不见了,我是想你的{$bbb}! ///////$aaa = "刘德华";
$bbb = "林心如";echo $row_rs_sql['content'];
////我想要的结果是:您好刘德华,好久不见了,我是想你的林心如!可现在的输出的结果却还是:您好 {$aaa},好久不见了,我是想你的{$bbb}!请问大家这个问题怎么解决啊,很急!!!

解决方案 »

  1.   

    echo preg_replace('/\{\$(\w+)\}/e','$$1',$row_rs_sql['content']);
      

  2.   

    content字段的内容是:您好 {$aaa},好久不见了,我是想你的{$bbb}! 你这里面的$aaa是字符串啊,不是变量形式的,所以要替换下,用$row_rs_sql = str_replace('{$aaa}',$aaa);$row_rs_sql = str_replace('{$bbb}',$bbb); echo $row_rs_sql;
      

  3.   

    不要用str_replace(), 参考 php eval()函数 http://php.net/manual/en/function.eval.php$str = $row_rs_sql['content'];
    eval("\$str = \"$str\";");
    echo $str;