我无法弄清楚为什么有些php无法在我正在尝试构建的HTMl电子邮件中正确呈现。 代码(大多数html元素已被删除):
$messaget = "
<html>
<head>
<title>Your Loan Information</title>
<style type=text/css>
table {border: 0px solid white}
#top {width:590px; margin-left:5px;}
#foot {width:540px; margin-left:10px;}
#left {width:560px; margin-left:20px;}
h1 {margin-left:0px; }
body,td,th {
font-family:Arial, Helvetica, sans-serif;
font-size: 13px;
}
td, tr {border: 0}
</style>
</head>
<body>
<p>Thank you, $custfirst $custlast
<br/>Customer Id: $custid,</p>
<h3>What we have:</h3>
<strong>What We Still Need: </strong><br/>
foreach ($needed as &$value) {
$value<br/>
}'
</body>
</html>
第一个变量,谢谢你,$ custfirst $ custlast,正在运行。 当我发送电子邮件时,我看到“谢谢你,John Smith”
但是
foreach ($needed as &$value) {
$value<br/>
}
不执行php,而是精简显示
“foreach($需要&amp; $ value){
$值
}”
任何人都可以帮我找出原因吗?
答案 0 :(得分:2)
您不能在字符串中使用逻辑调用。您需要在变量中准备字符串并插入它。例如:
$string = '';
foreach ($needed as &$value) {
$string .= $value.'<br>';
}
然后在你的字符串中
$message = "... $string ...";
答案 1 :(得分:0)
将字符串追加到变量中,而不是在字符串中使用逻辑调用。
<?php
$messaget = null;
$messaget .= '<html><head>...';
foreach ($needed as &$value) {
$messaget .= $value.'<br>';
}
$messaget .= '...</body></html>';
?>
答案 2 :(得分:0)
使用以下命令创建文件my_html.php:
<html>
<head>
<title>Your Loan Information</title>
<style type=text/css>
table {border: 0px solid white}
#top {width:590px; margin-left:5px;}
#foot {width:540px; margin-left:10px;}
#left {width:560px; margin-left:20px;}
h1 {margin-left:0px; }
body,td,th {
font-family:Arial, Helvetica, sans-serif;
font-size: 13px;
}
td, tr {border: 0}
</style>
</head>
<body>
<p>Thank you, $custfirst $custlast
<br/>Customer Id: $custid,</p>
<h3>What we have:</h3>
<strong>What We Still Need: </strong><br/>
<?php foreach ($needed as &$value): ?>
echo $value . '<br/>';
<?php endforeach; ?>
</body>
</html>
在其他文件中包含此文件my_html.php。
我希望能帮助你。