发布的php变量的HTML电子邮件问题

时间:2009-12-03 06:59:12

标签: php html ajax

我正在使用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()成功了!感谢...

3 个答案:

答案 0 :(得分:0)

我会得到萤火虫,并尝试在浏览器中完成整个过程。看看你究竟传递给php页面的确切内容。您可能会发现您没有发布任何内容。我想如果PHP得到它,它应该至少能够作为回声打印出来。

答案 1 :(得分:0)

电子邮件发送代码是什么样的?要发送HTML,您需要包含其他标题,请参阅php docs中的示例#4:http://php.net/manual/en/function.mail.php

答案 2 :(得分:0)

如果(')是您的问题,请尝试

 $layout = addslashes($_POST['html']);

它会向值添加反斜杠,如(\')。