AndrewTsang
AndrewTsang

Reputation: 316

PHP getting enter from textarea to send email

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

Upvotes: 0

Views: 2544

Answers (1)

M H
M H

Reputation: 2183

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

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

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("\n", $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> ";
}

Upvotes: 6

Related Questions