gpt4 book ai didi

php - 如何从 MySQL 数据库存储和检索与 PHP 变量名混合的字符串?

转载 作者:行者123 更新时间:2023-11-29 08:14:12 25 4
gpt4 key购买 nike

我有一个问题,尝试在 Google 和 Stakoverflow 上搜索,但找不到任何完美的解决方案。我正在使用 phpmailer,想让用户自定义它的正文消息。因此,我提供了通过在后端提供 texarea 输入框来编辑电子邮件正文文本的选项,用户将在其中使用我自己提供的 php 变量输入电子邮件文本。

例如正文是“亲爱的{$username},感谢您注册。”。一旦我将此输入存储到数据库中并希望在 php 中检索此输入:

$username = "ABC"; //username variable
$message = $row["message"]; //stored email body message
echo $message;

输出数据:“亲爱的 {$username},感谢您注册。”

我想要这样的“亲爱的 ABC,感谢您注册。”。这怎么可能,或者有没有其他选项可以将它与 php varialbe 或定义的类型一起使用?

最佳答案

您没有得到预期的答案,因为 $row["message"] 的内容不会再次被评估。这实际上是一件好事,因为用户可以使用他们想要的任何变量名称,这会造成安全威胁。

不过,有一个高质量的解决方案。您应该检查 PHP 的模板引擎,例如聪明和小枝。它们允许您创建带有占位符的模板,例如:

Dear {{username}}, thank you for sign-up!

您可以将其存储在文件中或让您的用户定义他们自己的模板。然后,模板引擎将读取模板,并使用您发送给它的值,将这些占位符替换为实际值。

要了解如何在实践中完成此操作,请选择一个模板引擎并检查其文档。

关于php - 如何从 MySQL 数据库存储和检索与 PHP 变量名混合的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20934665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com