How To Send User Entered Line Breaks From A Textarea To Email

Mike Danna
2 min readFeb 1, 2021

--

In case you haven’t noticed, with most PHP form processors, if a user fills out a textarea within your form using paragraphs or line breaks the formatting of the paragraphs and line breaks are stripped away from your delivered email contents. We are going to use the PHP nl2br() function to fix this which will display your form e-mail contents exactly as the user provided them.

What Does the PHP nl2br Function Actually Do?

It’s very simple really, the nl2br() function is used to insert HTML line breaks before any new lines within a string. In this case, we want to use the PHP nl2br() function and insert our form textarea field contents within that function so we can achieve paragraphs and/or line breaks when the form is submitted to us as an e-mail.

Let’s look At Some Basic Code To Receive Your Textarea Field With The nl2br() Function Included

The first order of business is our standard HTML textarea form field, for this tutorial we will name it “details” and this is how our form HTML will look:

<textarea placeholder="Details..." name="details" required></textarea>

Now, within your PHP script to process your form to be delivered via e-mail, we will need to grab the textarea contents which will look like:

$details = $_REQUEST['details'];

Next, in order for the contents of $details to be delivered with paragraphs and line breaks included based on how the user filled out the textarea we will need to add our nl2br() function. With the PHP from the above code included, this will look like:

$details = $_REQUEST['details'];$details = nl2br($details);

There you have it, the above code places your textarea field contents within the PHP nl2br() function which will now save the line breaks that your user has entered into the specific textarea.

Happy coding!

--

--

Mike Danna
Mike Danna

Written by Mike Danna

Mike Danna is the owner of Vessio.com — a Texas based website maintenance and development company since 2006.

No responses yet