如何防止用作HTML电子邮件正文的PHP变量中出现换行

如何防止用作HTML电子邮件正文的PHP变量中出现换行,php,html,email,Php,Html,Email,我创建了一个PHP脚本,它获取数组的内容并将其填充到名为$body的变量中: foreach($_POST as $var => $value) { if (($var != "Submit") && ($value != "")) { $body .= $var .': '.filter_var($value, FILTER_SANITIZE_STRING) . '<br>';} } foreach($\u发布为$var=>$value

我创建了一个PHP脚本,它获取数组的内容并将其填充到名为$body的变量中:

foreach($_POST as $var => $value)
{

    if (($var != "Submit") && ($value != "")) {

    $body .= $var .': '.filter_var($value, FILTER_SANITIZE_STRING) . '<br>';}

}
foreach($\u发布为$var=>$value)
{
如果($var!=“提交”)&($value!=“提交”){
$body.=$var.:'.filter_var($value,filter_SANITIZE_STRING)。'
'} }
这个$body然后形成HTML电子邮件的正文。一切都很好,直到这些内容变得太长,然后我会收到一封电子邮件,有时会丢失一封

(因为它在下一封邮件中变成
。这会导致我的字段在电子邮件客户端中一起运行

想法

编辑:我尝试在休息前添加
\n
,但我的电子邮件客户端显示了它们
但是使用双引号就行了。谢谢!

打印您的
“\n
。这样,您的

总是会有新行。

我不会试图阻止换行,而是将它们强制放在您希望的位置。计算出您希望换行的字符长度,然后在空格中有这么多字符后创建换行符。这将使您能够更好地控制所使用的布局电子邮件中的nd和
将被正确执行。

前缀:未选择\n必需的名字:asdf\n mi:asfd\n必需的姓氏:asfd\n标题:asdf\n代理机构:safd\n必需的邮件地址:asdf\n我的客户端在每个数组元素之后显示\n。确保使用“\n
”而不是“\n
”。或者,只需将“\n”放在$body中,然后运行nl2br即可($body)当您使用它时。当然,这以牺牲处理时间为代价增加了可读性。。。