将\ n转换为\仍然打印出来而不是处理

时间:2015-10-15 04:44:18

标签: javascript php

Javascript代码

var contact_comments = $("#con_us_comment").val();
contact_comments = contact_comments.replace(/(?:\r\n|\r|\n)/g, '<br />');
$.post('post.php', {'con_us_comment':contact_comment}, function(data) {
    // stuff i'm doing with reply from post call
}

PHP代码只接收来自帖子的原始数据并通过电子邮件发送给我。

$contact_comment = test_input($_POST['con_us_comment']);
$body .= "<br/><b>Comments:  </b> ".$contact_comment;

使用如上所示的正文集发送的电子邮件

电子邮件输出如下所示:

Comments:  line 1<br />line 2<br />line 3

而不是:

Comments:  line 1
           line 2
           line 3

所以它成功地替换了\ n但它不处理
而是将其显示为文本

知道我在这里做错了吗?

2 个答案:

答案 0 :(得分:0)

在邮件脚本的标题中设置Content-type:text / html如果您使用的是php mail()函数,请尝试添加

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
在您的mail($to, $subject, $message, $headers);声明之前

答案 1 :(得分:0)

如果您想在邮件中发送html内容,则必须添加这些标题。

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";