从代码中可以看到,用户首先输入姓名和信息,然后点击发送。当我进行换行时,我收到的邮件中仍然没有任何换行。
<?php
$to = "[email protected]";
$subject = "Message from contact form";
//begin of HTML message
$message = <<<EOF
<html>
<body>
<b>Name:</b><br>
{$_POST['name']}
<br>
<b>Message:</b><br>
{$_POST['message']}
</body>
</html>
EOF;
//end of message
$header = "MIME-Version: 1.0" . "\r\n";
$header .= "Content-type: text/html; charset=iso-8859-1" . "\r\n";
$header .= "from:[email protected]";
mail($to, $subject, $message, $header);
echo "Email sent!";
?>
<form action="sendmail.php" method="post">
Name: <br>
<input type="text" name="name" style="width: 200px;"> <br><br>
Message: <br>
<textarea name="message" style="width: 200px; height: 100px;"></textarea> <br><br>
<input type="submit" value="Send">
</form>
HTML就是这样的。不管你按了多少次 进入 在您的HTML源中,只有当有HTML标签告诉浏览器要这样做时,浏览器才会显示行进。
您可以使用 nl2br(). 你还想用 htmlspecialchars().
$name = htmlspecialchars($_POST['name']);
$message = nl2br(htmlspecialchars($_POST['message']));
//begin of HTML message
$message = <<<EOF
<html>
<body>
<b>Name:</b><br>
{$name}
<br>
<b>Message:</b><br>
{$message}
</body>
</html>
EOF;
使用这个:-
echo nl2br("My name is\n user2232809");
将输出
我的名字是user2232809
该函数返回带有 <br /> or <br>
插入到所有换行符之前。因此,当你按下回车键时,它将返回相当于html的内容。<br>
.
在textarea的文本上使用PHP的nl2br()......。