是這樣的:我從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;
四樓的方法最簡單,最實用