使用PHP邮件程序无法使nl2br工作

时间:2011-09-14 12:55:29

标签: php forms mailer

我正在尝试发布上一页的一些信息,然后通过电子邮件发送出去。

从上一页发布的信息位于文本区域内,我想让用户在输入该文本区域时按Enter键时自动添加新行。

尝试使用nl2br,它似乎不起作用。我的代码:

从上一页发布:

$BREAKINGNEWS=nl2br($_POST['BREAKINGNEWS']);

获取该信息并将其放入电子邮件中:

$message .=  nl2br($BREAKINGNEWS);

正如你所看到的,我已经把它放了两次,但它仍然不起作用并在每一行的末尾打印出\ r \ n。

我已经尝试在POST上进行,只是在$ message上但它拒绝工作。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您可能正在使用SQL转义,只应在SQL查询中使用输出时应用SQL转义。使用nl2br()时尝试不要转义数据。

答案 1 :(得分:0)

将“\ r \ n”替换为“\ n”?

$text = nl2br(str_replace("\r\n", "\n", $_POST['BREAKINGNEWS']));

修改 你在PHPMailer中设置IsHTML(true)吗?

$mail = new PHPMailer();
$mail->IsHTML(true);

答案 2 :(得分:0)

请试试这个:

$text = str_replace("\r\n", "
", $text;