首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用php将mysql中的部分文本更改为变量名

使用php将mysql中的部分文本更改为变量名
EN

Stack Overflow用户
提问于 2018-07-01 18:25:38
回答 1查看 31关注 0票数 1

完全不知道如何解决。我有一个mysql文本记录,其中包含以下文本:

代码语言:javascript
复制
Hello $someone

当我在php中输出它时,它显示为Hello $someone -这很好,也是我所期望的。

但是,我如何在php中输出它,以便它将$someone转换为php变量,这是在php中赋值的?所以我想要我的php代码如下:

代码语言:javascript
复制
$someone = "John Doe";
echo $subject;

返回: Hello John Doe

我尝试过使用$$someone${$someone}来查看变量,但总是只返回文本。

我知道$someone总是一个文本,所以必须将它作为类似{$someone}的东西存储在mysql中,以区别于50美元等美元金额。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-01 19:19:45

下面是一个简单的函数示例,它将替换字符串中的占位符值。字符串($text)和数据都可以很容易地来自数据库。

代码语言:javascript
复制
$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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51122443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档