【发布时间】:2015-09-04 10:44:44
【问题描述】:
我有一个网络表单,允许用户输入文本,然后使用 swift mail 发送电子邮件。他们输入的文本可能包含\r\n。我从 swift mail 以 text/html 格式发送电子邮件。在发送电子邮件之前,我尝试对 \r\n 进行替换,并对用户输入的文本执行 nl2br 函数,以便将所有出现的 \r\n 更改为
;然而在所有情况下,电子邮件仍然会在文本消息中显示 \r\n,而不是实际的换行符。
下面是用于准备文本和电子邮件代码的代码 sn-p。
/* replace all cr/lf with a <br> */
$ind_msg = nl2br($ind_msg);
/* send the email message */
$status = send_email($db, $ind_email, $ind_name, $sender, $sender_name, $msg_subj, $ind_msg, "");
电子邮件代码
/* create the message */
$message = Swift_Message::newInstance();
$message->setTo(array($recipient => $recipient_name));
$message->setSubject($msg_subject);
$message->setContentType("text/html; charset=UTF-8");
$message->setBody($msg_body);
$message->setFrom(array($sender => $sender_name));
我错过了什么或做错了什么?
【问题讨论】:
-
你错了
nl2br()。它不会替换新行。它在它们之后添加 html 换行符。 -
你能把可能的输入和预期的输出一起发布吗