我在使用ob_get_clean函数时遇到问题。我在这里提出了问题的简化版本。首先使用javascript更改html主体,然后邮寄。 这是包含php和html代码的文件。
<?php
ob_start();
?>
<h1 id="check" style="color:blue;">This is first comment</h1>
<script>
document.getElementById("check").innerHTML = "This is second comment";
</script>
<?php
$test = ob_get_clean();
echo $test;
$to = "abc@xyz.com";
$subject = "Subject";
$headers = "From: Sender\r\n";
$headers .= "Content-Type: text/html\r\n";
$message="";
$message .= <<< EOF
$test
EOF;
mail($to,$subject,$message,$headers);
?>
在 echo $ test 行中,页面的html输出为
这是第二条评论
但收到的电子邮件包含
这是第一条评论
我希望发送的电子邮件应该是&#34;这是第二条评论&#34;这是使用javascript更改的html代码。 任何帮助将不胜感激。
答案 0 :(得分:0)
不,php部分在服务器上完成。
在php执行结束很久之后,JS就在客户端完成了。
答案 1 :(得分:0)
也许你不应该像这样混合脚本和PHP。 最好使用ajax调用。
看起来在脚本更改文本之前调用了php脚本。