PHP / HTML Entities encoding / decoding issue &amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;br /&gt;<br /><br />
<p>I have built my first web app from scratch as I am still learning the best practices. </p>

<p>I have an issue with my TEXTAREA block, I would like to save spaces and break so that formatting looks nice.</p>

<p>Eg.
This is my text area description</p>

<p>new line starts here</p>

<p>However I got it to work but not on every occasion I see my users posting text that is displayed like this</p>

<p><code>&amp;amp;lt;br /&amp;amp;gt;&amp;amp;lt;br /&amp;amp;gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;&lt;br /&gt;</code></p>

<p>When I am saving the content into DB I am using this</p>

<p><code>nl2br(htmlentities($string, ENT_QUOTES, 'UTF-8'));</code></p>

<p>when I look up results in DB they show me breaks like <br/></p>

<p>and when I am displaying back to the screen I do this</p>

<p><code>ucfirst (strtolower (substr(str_replace(array("&amp;lt;br /&amp;gt;", "&lt;br/&gt;", "&lt;br /&gt;"), '', escape($results[$i + $offest]-&gt;description)), 0, 80)));</code></p>

<p>However some work fine and some still display result that I showed you above,</p>

<p>What would be the best way for me to escape but preserve breaks and formatting for storing into DB and on display put it all back together correctly?</p>

<p>Thank you for your time</p>