你好,我有一个联系我们页面,其中我有一个文本区域用于描述,用户将输入他/她的消息。我希望该消息在邮件正文中发送,因为它包含所有格式。我正在从 php 脚本中获得描述
$header = "Content-type: text/html'n";
$Description = $_REQUEST["txtDescription"];
mail($To, $Subject, $Description, $header);
我已经定义了$To、$Subject$header。邮件进展顺利。我希望消息显示在邮件正文中,因为用户在文本区域中键入格式(如 enter)
您可以使用
nl2br()
将换行符'n
转换为<br/>
,然后以实际的HTML格式发送电子邮件。
$headers .= "Content-Type: text/html; charset=ISO-8859-1'r'n";
或者更好的是,使用SwiftMailer或PHPMailer。它们比mail()
函数要好得多,我建议使用它们从PHP脚本发送电子邮件。
使用 nl2br() 将换行符转换为<br>
标签。
$Description = nl2br($_REQUEST["txtDescription"]);
此外,您还可以执行以下操作来保留多个空格 -
$Description = str_replace(' ', ' ', $Description);
为此,您应该将textarea替换为CKeditor。
从这里下载http://ckeditor.com/download
此链接上的安装和配置详细信息
Ck 编辑器
如果你喜欢使用TCPDF,那就使用TCPDF
试试这个例子
http://www.tcpdf.org/examples/example_001.phps
如果要继续格式化,只需使用plain/text
而不是text/html
或者将消息包装在pre
标签中:
mail($To, $Subject, "<pre>{$Description}</pre>", $header)
将内容类型设置为 text/html
客户端将尝试像浏览器一样呈现它。因此,将应用与html相同的规则:多个空格和回车符将被视为一个。因此,您需要使用暗示(默认情况下)保持格式的标签,例如pre
标签。