私は連絡先フォームで作業しています。連絡先メッセージに改行を付けることができます。彼らは<br>
に変換する必要があります。何も働いていません。PHPのnl2brが機能しません(代替案もありません)
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改行に変換するにはどうすればよいですか?
今朝のデバッグ時に、改行がHTMLでエスケープされていることがわかりました。とにかく、ありがとうございます。str_replace(array( ' '、 ' '、 ' ')、 '
'、stripslashes($ email_body)) – DSKrepps