在$ html_body中分配时,PHP代码未在HTML中呈现

时间:2019-01-22 22:43:47

标签: php html

我正在尝试在HTML中呈现PHP变量。我正在使用Amazon SES,并且正在将html代码分配给变量$html_body

我尝试过<?php echo '.$sender_email.';?>

这是变量分配: $ sender_email =“某人的电子邮件”;

$html_body = 

    '<div> 
        <span>
           <?php
              echo $sender_email;
           ?>
        </span>
     </div>';

测试时,我看不到“某人的电子邮件”。我知道这与格式化有关,但是我不确定从这里开始该怎么做。

使用$html_body我发出的请求看起来像这样:

$result = $SesClient->sendEmail([
            'Destination' => [
                'ToAddresses' => $recipient_emails,
            ],
            'ReplyToAddresses' => [$sender_email],
            'Source' => $sender_email,
            'Message' => [
                'Body' => [
                    'Html' => [
                        'Charset' => $char_set,
                        'Data' => $html_body, ------------- where I use html_body
                    ],
                    'Text' => [
                        'Charset' => $char_set,
                        'Data' => $plaintext_body,
                    ],
                ],
                'Subject' => [
                    'Charset' => $char_set,
                    'Data' => $subject,
                ],
            ],
            // If you aren't using a configuration set, comment or delete the
            // following line
//            'ConfigurationSetName' => $configuration_set,
        ]);

1 个答案:

答案 0 :(得分:2)

您过于复杂了。您无需在PHP代码内的HTML代码内编写PHP代码。考虑一下您在做语义上的事情:

$html_body = 'some string';

该字符串是什么都无所谓。这只是一个字符串。而且您只想将PHP变量连接到该字符串中。用单引号括起来:

$html_body = 'some ' . $sender_email . ' string';

或使用双引号在内部扩展变量:

$html_body = "some $sender_email string";

基本上,不要尝试输出本身应该输出值的PHP代码。您有值,只需输出即可。