完全不知道如何解决。我有一个mysql文本记录,其中包含以下文本:
Hello $someone
当我在php中输出它时,它显示为Hello $someone
-这很好,也是我所期望的。
但是,我如何在php中输出它,以便它将$someone
转换为php变量,这是在php中赋值的?所以我想要我的php代码如下:
$someone = "John Doe";
echo $subject;
返回: Hello John Doe
我尝试过使用$$someone
,${$someone}
来查看变量,但总是只返回文本。
我知道$someone
总是一个文本,所以必须将它作为类似{$someone}
的东西存储在mysql中,以区别于50美元等美元金额。
任何帮助都将不胜感激!
发布于 2018-07-01 19:19:45
下面是一个简单的函数示例,它将替换字符串中的占位符值。字符串($text)和数据都可以很容易地来自数据库。
$text = "";
$text .= "<p>Dear {name},</p>\n";
$text .= "<p>Thank you for your order on {order_date}.</p>\n";
$text .= "<p>You order was shipped on {ship_date}.</p>\n";
$data = array(
"name" => "John Doe",
"order_date" => "05/01/2018",
"ship_date" => "05/04/2018",
"order_total" => "$22.50"
);
$textToDisplay = curly_replacer($text,$data);
echo $textToDisplay;
// Function to replace placeholders with data values.
// $str contains placeholder names enclosed in { }
// $data is an associative array whose keys are placeholder,
// and values are the values to replace the placeholders
function curly_replacer($str,$data) {
$rslt = $str;
foreach($data as $key => $val) {
$rslt = str_replace("{".$key."}", $val, $rslt);
}
return $rslt;
}
https://stackoverflow.com/questions/51122443
复制相似问题