1

我正在使用下面的代码使用 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);
?>  

但是电子邮件忽略了文本区域中的所有换行符。如何在文本区域中保留换行符?

4

2 回答 2

1

你必须像这样使用它:

<?php
$message1 = $_REQUEST['output_textarea'];
$message1 = nl2br($message1);

?>
于 2013-09-18T10:48:13.030 回答
1

首先,这里不需要分号:

$message1;

当您在电子邮件中使用 html 时,您必须使用<br/> 标签来换行。

最好的替换方法\n<br/>使用nl2br() PHP 函数。

在您的代码中替换:

$message1 = $_REQUEST['output_textarea'];

和:

$message1 = nl2br($_REQUEST['output_textarea']);
于 2013-09-18T10:48:48.297 回答