在邮件功能中包含文本的HEREDOC错误

时间:2013-04-17 17:24:39

标签: php include heredoc

我正在使用HEREDOC将一些文本包含在邮件PHP函数的主体中。

然而,我收到此错误:

“PHP Parse错误:语法错误,意外的T_SL在......”

错误是指包含文件的HEREDOC部分:

<?php
$message = <<<EOD <html></body>Dear $firstName $lastName,
Sincerely,
Customer Service
EOD;?>

我写这个的方式有问题吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

<?php
$message = <<<EOD
    <html><body>Dear {$firstName} {$lastName},
    Sincerely,
    Customer Service
EOD;
?>

使用heredoc语法除了在开放标识符<<<EOD之后的新行之外,除了空格之外应该没有任何内容,并且您希望将变量包装在花括号中。结束标识符EOD;之前应该没有空格,后面应该跟一个新行。

PHP Heredoc

答案 1 :(得分:1)

<?php
$message = <<<EOD
<html></body>Dear $firstName $lastName,
Sincerely,
Customer Service
EOD;
?>

答案 2 :(得分:1)

更改

EOD;?>

EOD;
?>

为什么?

从PHP文档引用:

  

注意具有结束标识符的行非常重要   必须不包含其他字符,除了可能是分号(;)。   这尤其意味着标识符可能不会缩进,并且   在分号之前或之后可能没有任何空格或制表符