日期:2014-05-17  浏览次数:20390 次

php 基础问题求救!!!!!!
是这样的:我从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}!

请问大家这个问题怎么解决啊,很急!!!



------解决方案--------------------
echo preg_replace('/\{\$(\w+)\}/e','$$1',$row_rs_sql['content']);
------解决方案--------------------
引用:
是这样的:我从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}!

请问大家这个问题怎么解决啊,很急!!!

content字段的内容是:您好 {$aaa},好久不见了,我是想你的{$bbb}! 你这里面的$aaa是字符串啊,不是变量形式的,所以要替换下,用$row_rs_sql = str_replace('{$aaa}',$aaa);$row_rs_sql = str_replace('{$bbb}',$bbb); echo $row_rs_sql;
------解决方案--------------------
不要用str_replace(), 参考 php eval()函数 http://php.net/manual/en/function.eval.php

$str = $row_rs_sql['content'];
eval("\$str = \"$str\";");
echo $str;