php-无法将/r/n设置为电子邮件中的

php-无法将/r/n设置为电子邮件中的,php,email,newline,Php,Email,Newline,我有一个网络表单,允许用户输入文本,然后使用swift邮件发送电子邮件。他们输入的文本可能包含\r\n。我从swift mail发送文本/html格式的电子邮件。在发送电子邮件之前,我已尝试在用户输入的文本上\r\n以及nl2br函数上执行sting替换,以便将所有出现的\r\n更改为;但是,在所有情况下,电子邮件到达时仍会显示在文本消息中,\r\n而不是实际的换行符 下面是准备文本和电子邮件代码的代码片段 我遗漏了什么或做错了什么?您可以尝试: $ind_msg = str_replace(a

我有一个网络表单,允许用户输入文本,然后使用swift邮件发送电子邮件。他们输入的文本可能包含\r\n。我从swift mail发送文本/html格式的电子邮件。在发送电子邮件之前,我已尝试在用户输入的文本上\r\n以及nl2br函数上执行sting替换,以便将所有出现的\r\n更改为;但是,在所有情况下,电子邮件到达时仍会显示在文本消息中,\r\n而不是实际的换行符

下面是准备文本和电子邮件代码的代码片段

我遗漏了什么或做错了什么?

您可以尝试:

$ind_msg = str_replace(array('\r\n'), array('<br>'), $ind_msg);

nl2br不替换换行符。它在所有换行符之前添加br标记。如果要替换它们,请使用str_replace

vg
字节计数器

您对nl2br的看法是错误的。它不能取代新的生产线。它会在它们之后添加html换行符。你能把可能的输入和预期的输出一起发布吗
/* 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));
$ind_msg = str_replace(array('\r\n'), array('<br>'), $ind_msg);