我正在使用html正文发送电子邮件。 Body html由php变量和ajax发布。但是所有的html都会被忽略。
例如在email.php
中HTML元素
<textarea id="html" cols="20" name="TextArea1" rows="2">HTML code is here</textarea>
的Javascript
var html = $("#html").val();
$.post("function.php", { html: html }, function(data) {
if(data){
//do sth
}
});
并在函数php中
$body = "";
$body .= $_POST['html'];
//send email
我试过html_entity_decode
但没有运气。电子邮件发送,没有HTML元素。我怎么能这样做?
由于
编辑:我遇到了问题,在HTML中存在'字符,它会破坏HTML结构。但我怎么能避免这种情况,我仍然不知道......
编辑2:stripslashes()成功了!感谢...
答案 0 :(得分:0)
我会得到萤火虫,并尝试在浏览器中完成整个过程。看看你究竟传递给php页面的确切内容。您可能会发现您没有发布任何内容。我想如果PHP得到它,它应该至少能够作为回声打印出来。
答案 1 :(得分:0)
电子邮件发送代码是什么样的?要发送HTML,您需要包含其他标题,请参阅php docs中的示例#4:http://php.net/manual/en/function.mail.php
答案 2 :(得分:0)
如果(')是您的问题,请尝试
$layout = addslashes($_POST['html']);
它会向值添加反斜杠,如(\')。