使用phpmailer函数,必须用双引号格式化变量内的电子邮件正成为一场噩梦。
$body = "<div><h1>Hello, ".$foo."!</h1></div>";整个电子邮件都是这样的,因为我的编辑器(KomodoEdit)不识别语法错误,而且标记是在字符串中定义的,因此很难排除故障。
我一直在研究其他方法来实现这一点,比如特雷多方法,但是这看起来更干净,但它仍然不允许我使用编辑软件的语法检查和标签折叠。
我的下一步是尝试这样的方法:
body.php
<div><h1>Hello, $foo !</h1></div>index.php
error_reporting(E_ALL);
$foo = 'Frank';
$page = include('body.php');
$body = <<<EOD
$page
EOD;但这没有张贴任何东西,我甚至没有收到任何错误的报告。我已经通过了手册,但不是在语法上遗漏了什么东西,就是在使用<<<EOD时出现了逻辑错误。
发布于 2013-11-21 18:26:41
以前不能有空格。往左移。不过,那还是做不到你想做的。
ob_start();
include('body.php');
$page = ob_get_clean();我永远不会调整我的应用程序以满足语法高亮显示或编辑器的任何其他功能!
发布于 2013-11-21 18:50:51
更新您的代码
index.php
error_reporting(E_ALL);
$_REQUEST['foo'] = 'Frank';
ob_start();
include('body.php');
$page = ob_get_clean();body.php
"<div><h1>Hello, ".$_REQUEST['foo']." !</h1></div>"我们只能访问包含的文件中的公共变量(请求等)。
发布于 2013-11-21 19:18:03
试试这个:
1) index.php
<?php
error_reporting(E_ALL);
$foo = 'Frank';
$page = include('body.php');
echo <<<EOD
$page
EOD;
?>2) body.php
<?php
return <<<RESULT
<div><h1>Hello, $foo !</h1></div>
RESULT;
?>https://stackoverflow.com/questions/20128993
复制相似问题