我正在使用下面的代码在MySQL数据库中存储复选框项。第三行是我需要在每个项目之间放置换行符的地方。我尝试了<br>
或<br />
,即使它在标准页面的屏幕上看起来很棒,它实际上也会在电子邮件收据中显示<br>
或<br />
html而不是换行。
for ($i=0; $i<count($_POST['swatchname']);$i++) {
$swatchname.= $_POST['swatchname'][$i];
$swatchname.="<br />";
}
在我的javascript中发送我一直在使用的电子邮件\ n在电子邮件中进行换行,它完美无缺。
问题是..我会用什么方法或字符在电子邮件和标准html页面上正确看到它?我不想列出逗号之间的项目。客户需要它列出。
答案 0 :(得分:3)
您是否更改了电子邮件的标题,以便电子邮件客户端将其理解为html文档而不是通用文本格式?
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
添加内容标题会使电子邮件像html页面,但只是一封电子邮件,以便客户端可以查看风格化的电子邮件
编辑:某些电子邮件客户端不接受html作为内容类型,但大多数主要客户端
答案 1 :(得分:1)
在电子邮件中使用\ n,在网站上查看时使用nl2br
PHP函数。
答案 2 :(得分:0)
我找到了一个关于“序列化”的教程。
这是一种在数据库中存储复选框选择的方法。遵循用户友好的教程。 http://evolt.org/node/60222/
然后,在教程向print $variable.", ";
显示的地方,我将其设为print $variable."<br />";
,以便在html页面上显示换行符。在向客户发送电子邮件收据的页面上,我将其设为print $variable."\n";
,似乎正在处理电子邮件。
注意:请务必遵循教程并反序列化,否则您最终会看到混乱的代码,并认为出现了问题。还可以使用循环来拉出每个复选框项。