可以使用PHP表单维护文本区域的格式,以便将发送给管理员的邮件格式化得很好。
即。如果有人在textarea中写道,
亲爱的先生,我在写connceti ....
非常感谢,
目前以电子邮件发送
亲爱的先生,我正在写作... 非常感谢,
如果没有,那么我认为解决方案是Rich Text Editor替换textarea。这一切都很好,但如果javascript被禁用怎么办。
任何想法,
非凡
答案 0 :(得分:1)
您可能需要更换(取决于系统):
\n\r or \n or \r
人:
<br />
需要PHP函数:
nl2br()
答案 1 :(得分:0)
此时似乎您的电子邮件可能会以HTML格式发送。如果给定输入不是HTML格式,HTML格式会自动删除换行符。如果您不想要HTML格式,请尝试发送纯文本邮件,然后您的换行符仍应显示。
要以纯文本形式发送消息,只需使用PHP mail()函数,无需任何其他标题:
mail('john@gmail.com', 'Test Email', 'My Message...
with a line break!');
如果您仍然遇到问题,请尝试集成HTML WYSIWYG编辑器,例如功能强大的TinyMCE编辑器。
注意:要使HTML编辑器正确发送电子邮件,将需要以HTML格式发送电子邮件消息(您需要提供标题作为mail() function中的第四个参数)。这肯定会解决您的换行问题。
希望有所帮助,
spryno724
答案 2 :(得分:0)
浏览器和PHP都保留了<textarea>
中的换行符。可能他们在电子邮件正文中迷失了,或者即使他们在那里也没有被浏览器显示。
如果您要发送HTML邮件,则需要nl2br(htmlspecialchars($your_textarea_data))
添加必要的<br>
代码。
如果您要发送纯文本邮件,请检查您是否混合了LF(Unix风格)和CR + LF(DOS风格)换行序列,这可能会使您的电子邮件客户端感到困惑。
答案 3 :(得分:0)
这完全取决于您的电子邮件格式。
当您键入该文本时,它实际上看起来像这样
Dear Sir, \n
\n
I am writing in connceti....\n
\n
Many Thanks,
如果您要发送短信,则必须确保不会删除换行符。如果您要发送HTML电子邮件,则必须确保替换<br>
代码的这些换行符