【发布时间】:2021-05-26 05:26:22
【问题描述】:
我正在对电子邮件营销服务进行 API 调用。其中一个变量是“htmlContent”,其中包含要发送的电子邮件的 HTML。
我的代码如下所示:
$htmlContent = <<<EOT
//lots of HTML code
<p>
EOT;
$htmlContent .= $player_name;
$htmlContent .= <<<EOT
</p>
//lots more HTML code
EOT;
我正在尝试将 $player_name 变量直接插入到 <p></p> 标记之间。当我添加这个变量时,我的 API 调用会中断。如果我删除变量添加,它工作正常。我做错了什么?
【问题讨论】:
-
$player_name 已经设置了吗?
-
是的,是的。在添加 HTML 模板之前,我只是将该值输出到“htmlContent”,然后我收到了带有正确变量输出的电子邮件。
-
“我的 API 调用中断”是什么意思? PHP 不知道您正在进行 API 调用,API 也不知道您的 PHP 代码是什么样的。所以暂时忘记 API,并转储出您在两个版本中生成的确切字符串。仔细比较它们 - 是否存在空格差异,或者只是
$player_name变量中的某些内容会弄乱更广泛的格式? -
不,$player_name 看起来不错。为了更进一步,我将 $player_name 替换为“Test Player”以消除可变方面。即使这样也行不通。附加到包含 EOT 内容的变量是否存在某种语法问题?当我消除使用 .= 附加并一次将所有 HTML 内容放入 1 个变量时,它工作正常。
-
澄清一下,当我说“API 调用中断”时,这意味着我没有收到来自我所做的 API 调用的电子邮件。