Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP换行符don';好像不行_Php_String_Line Breaks - Fatal编程技术网

PHP换行符don';好像不行

PHP换行符don';好像不行,php,string,line-breaks,Php,String,Line Breaks,下面的代码使用mail()函数发送消息。一切正常,除了每行末尾的换行符似乎不起作用。正如您所看到的,我正在使用“\r\n”希望这会给我一个换行符,但它不是我添加了来获得换行符,但我不希望在某人没有HTML电子邮件客户端的情况下使用它 <?php $to = 'user@example.com'; // Was a valid e-Mail address, see comment below $name = $_REQUEST['name'] ; $email = $_REQU

下面的代码使用mail()函数发送消息。一切正常,除了每行末尾的换行符似乎不起作用。正如您所看到的,我正在使用“\r\n”希望这会给我一个换行符,但它不是我添加了

来获得换行符,但我不希望在某人没有HTML电子邮件客户端的情况下使用它

<?php
  $to = 'user@example.com'; // Was a valid e-Mail address, see comment below
  $name = $_REQUEST['name'] ;
  $email = $_REQUEST['email'] ;
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ;

  $content = 'Name: '.$name."\r\n";
  $content .= 'Email: '.$email."\r\n";
  $content .= 'Subject: '.$subject."\r\n";
  $content .= 'Message: '.$message."\r\n";

  $headers  = 'MIME-Version: 1.0' ."\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";

  // Additional headers
  $headers .= 'To: iVEC Help <help@ivec.com>'. "\r\n";
  $headers .= 'From: '.$name.' <'.$email.'>' . "\r\n";

  mail( $to, $subject, $content, $headers);

?>

<p> You sent it ... good work buddy </p>
<p> <?php   '$name' ?> </p>

是你送的。。。好工作伙伴


您将其作为HTML发送-将内容类型更改为
text/plain
,它应该可以工作。

我不是这方面的专家,但我猜您将内容类型设置为text/HTML,这意味着HTML呈现(这意味着换行符被转换为空格)。如果您没有使用任何HTML元素(看起来不是),请尝试将内容类型设置为text/plain。

问题是您在邮件头中说邮件是HTML电子邮件:

$headers .= 'Content-type: text/html; charset=iso-8859-1' ."\r\n";

如果要确保HTML和文本客户端都可以兼容,请考虑使用MultPoT内容类型。这可以通过许多不同的方式实现,但一个简单的方法是使用一个可以为您实现这一点的库。例如,您可以使用前面提到的

,将其设置为text/plain或为换行符添加HTML换行符:


$content='Name:'.$Name.“
\r\n”;

我已经冒昧地更换了电子邮件地址,因为它是真实的,垃圾邮件发送者只是喜欢在互联网上搜索有效的电子邮件地址。谢谢,我提醒过自己要这样做,但还是忘了。恐怕垃圾邮件机器人也会找到历史记录链接。它将在CC数据库转储中可用。它是

(或HTML中的

)。