PHP, strip_tags stripping \n in text area. How to stop it?

Quinton Pike picture Quinton Pike · Feb 21, 2011 · Viewed 9.9k times · Source

I would like to be able to accept \n or \r\n and convert them to <br /> for use in the page. Although when a user submits a text area with new paragraphs, the strip_tags function seems to strip them right out. Anything I can do to keep these in the string?

Thanks!!!

Answer

Gumbo picture Gumbo · Feb 21, 2011

You can use nl2br to add the BR line break element to line break character sequences:

$html = nl2br($plain);

Note that the BR elements are just added:

nl2br("foo\nbar") === "foo\n<br />bar"

And to prevent strip_tags to remove P and BR tags, specify them in the second parameter:

$clean = strip_tags($html, '<p><br>');