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