欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 基础问题求救!!!!!!

程序员文章站 2024-02-02 10:59:46
...
是这样的:我从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 "$row_rs_sql['content']";

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;

四楼的方法最简单,最实用