在我的PHP电子邮件表单中创建换行符

时间:2012-04-23 12:21:44

标签: php forms email

\我希望有人可以提供帮助。我和php有点傻了但是我设法使用从html表单中调出的mail.php页面为我的床和早餐创建了一个预订表单。

身体是这样的:

$subject = "Booking Request"; 
$fields = array(); 

$fields{"title"} = "Title";
$fields{"name"} = "Name";
$fields{"email"} = "email";
$fields{"telephone"} = "telephone";
$fields{"mobile"} = "mobile";
$fields{"arrival_day"} = "arrival day";
$fields{"departure_day"} = "departure day";
$fields{"adults"} = "#  of adults";
$fields{"children"} = "# of children";
$fields{"questions"} = "any questions?";

它可以工作,但一切都出现在这样的一行

  

标题:Ms姓名:Joe Blogs电子邮件:joe@blogs.com.au电话:02 12345697手机:01234958发布日:10/06/12出发日:20/06/12成人人数:8#儿童: 4有什么问题吗?

但我希望它看起来像这样:

  

标题:女士   姓名:乔博客
  电子邮件:joe@blogs.com.au
  等

我在各种各样的地方尝试了\n\r<br/>,但我只是在黑暗中刺伤......我可以修复或做什么需要使用完全不同的代码吗?

3 个答案:

答案 0 :(得分:1)

您应该使用\n作为结束行。

请将{}更改为[]

$fields["title"] = "Title";
$fields["name"] = "Name";
$fields["email"] = "email";
$fields["telephone"] = "telephone";
...

答案 1 :(得分:0)

我曾经使用过“\ n”:

$text = 'line1\n line 2\n line 3';

结果是:

line1\n
line2\n
line3

我不满意所以我找到了PHP_EOL

$text = 'line 1' . PHP_EOL . 'line 2' . PHP_EOL . 'line 3';

结果将是:

line 1
line 2
line 3

"<br>"是一个可行的解决方案,但您发送的是“HTML”格式的电子邮件。

答案 2 :(得分:0)

使用nl2br();

$message = nl2br($name . " " . " wrote this:" . "\n" . $_POST['message'] . $_POST['phone'] . $_POST['email']  . "\n" . $_POST['radio']);