我使用下面的代码使用php发送textarea内容作为电子邮件
<?php
$to = $_POST['emailbox'] ;
$message1 = $_REQUEST['output_textarea'];
$subject = 'script';
$message = "
<html>
<body>
<table bgcolor='lightcyan'>
<p>heading</p>
$message1;
</table>
</body>
</html>
";
$headers = "From: admin@domain.com\r\n";
$headers .= "Reply-To: acr@domain.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
mail($to, $subject, $message, $headers);
?>
但电子邮件忽略了textarea中的所有换行符。如何在文本区域中保留换行符?
答案 0 :(得分:1)
你必须像这样使用它:
<?php
$message1 = $_REQUEST['output_textarea'];
$message1 = nl2br($message1);
?>
答案 1 :(得分:1)
首先,这里不需要分号:
$message1;
当您使用html作为电子邮件时,必须使用<br/>
标记来打破行。
使用\n
替换<br/>
的最佳方法是使用nl2br() PHP函数。
在您的代码中替换:
$message1 = $_REQUEST['output_textarea'];
使用:
$message1 = nl2br($_REQUEST['output_textarea']);