首页 > 解决方案 > 尝试使用存储在单元格数据中的变量

问题描述

我面临一个问题,不允许从单元格数据中检索到的变量在我的网页上显示为声明的变量。我将在下面发布一个示例;

email.db - 下面表示列 email_body 的单元格数据

email_body = 嗨,$name

$name = $row['name'];    

$messagebody = $row["email_body"];

$message = "
            <html>
            <body>
            <p>".$messagebody."</p>
            </body>
            </html>
            ;
            "

如您所见,我试图使 $row['name'] 出现在 $messagebody (这是存储在数据库中的文本)中。我遇到的问题是上面的代码将显示 $messagebody,但 $name 变量将显示为纯文本并忽略该变量。

感谢您的帮助,

谢谢。

标签: php

解决方案


Daniel - 我认为您可能对如何在 PHP 字符串中呈现变量没有完全正确的想法。

但是,有一个名为的函数sprintf可能是执行您尝试执行的操作的工具!

sprintf (string $format [, mixed $... ])

$format在您的情况下,第一个参数是'Hi, %s'-作为另一个字符串%s的替身, . 然后该函数将返回,设置为 bobby。(并且 name 作为第二个参数传递。)$name'Hi, Bobby'$name

// Re-set the data inside of `email_body` to 'Hi, %s';
// "%s" is a placeholder that hints that a string should be placed there

$name        = $row['name'];
$messagebody = sprintf($row["email_body"], $name);
$message     = "<html>
                  <body>
                    <p>".$messagebody."</p>
                  </body>
                </html>";

推荐阅读