0

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

但是,我收到此错误:

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

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

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

我写这篇文章的方式有什么问题吗?

谢谢!

4

3 回答 3

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

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

PHP Heredoc

于 2013-04-17T17:26:50.277 回答
1
<?php
$message = <<<EOD
<html></body>Dear $firstName $lastName,
Sincerely,
Customer Service
EOD;
?>
于 2013-04-17T17:27:17.257 回答
1

改变

EOD;?>

EOD;
?>

为什么?

引用 PHP 文档:

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

于 2013-04-17T17:27:39.467 回答