Я работаю над контактной формой. Контактное сообщение может иметь разрывы строк. Их нужно конвертировать в <br>
. Ничего не работает Вот мой тестовый код:
mail( $email_to, $email_subject,
'<html><head><title>' . $email_subject . '</title></head><body>'
. $text_before_message
. str_replace( array("\\r\\n","\\r","\\n"), "<br />", stripslashes($email_body) )
. str_replace( array("\r\n","\r","\n"), "<br />", stripslashes($email_body) )
. nl2br( stripslashes($email_body) )
. str_replace( array('\\r\\n','\\r','\\n'), "<br />", stripslashes($email_body) )
. str_replace( array('\r\n','\r','\n'), "<br />", stripslashes($email_body) )
. stripslashes( nl2br($email_body) )
. nl2br($email_body)
. $text_after_message
. '</body></html>'
, 'MIME-Version: 1.0' . "\r\n"
. 'Content-type: text/html; charset=UTF-8' . "\r\n"
. 'From: ' . $email_from . "\r\n"
. 'To: ' . $email_to . "\r\n"
);
При вводе:
Test.
Test.
Результат в электронном письме (повторяется несколько раз из-за тестов):
Test.Test.
Что разделено регулярными переносами строк (не <br>
), если я посмотрю на исходный код.
Почему PHP делает это со мной? Этот вопрос, кажется, задают много, но решения, которые я могу найти ... не имеют значения, что вообще когда-либо.
Как преобразовать разрывы строк в разрывы html?