PHP从textarea进入以发送电子邮件

I created a form for users to key in recipient, subject name, and message to send mail via phpmailer. the problem i'm facing is with the textarea in my form.

I typed this into the textarea:

Hi john,
how's your day?

regards,
your best friend

but right now, this is showing in the email:

Hi john, how's your day? regards, your best friend

any ideas on how to format it to how the user enters in the text area? my current script is just

$body= $_POST["msg"];

i read that i should use nl2br but isnt that for output? Thanks in advance

What you will need to do is add a break for each line.

$text = trim($_POST['textareaname']); // remove the last 
 or whitespace character
$text = nl2br($text); // insert <br /> before 
 

If you dont like that try this:(you may need to play with it.)

//trim off excess whitespace off the whole
$text = trim($_POST['textareaname']);

//explode all separate lines into an array
$textAr = explode("
", $text);

//trim all lines contained in the array.
$textAr = array_filter($textAr, 'trim');

$str='';
//loop through the lines
foreach($textAr as $line){
$str .= $line."</br> ";
}