Quando si esegue l'output in un'area di testo è necessario chiamare htmlentities
htmlspecialchars
se il tuo testo contiene HTML.
<textarea><?php echo htmlspecialchars($text); ?></textarea>
Ciò convertirà il tuo <br />
a <br />
. Se lasci il <br />
non codificati verranno semplicemente interpretati come HTML.
Se il tuo obiettivo è visualizzare <br />
o altro HTML nell'area di testo così come è scritto nel database è necessario eseguire l'escape di tutto il codice che altrimenti verrebbe interpretato come HTML.
modifica
Se vuoi generare interruzioni di riga invece di <br />
puoi usare str_replace
:
<textarea><?php echo str_replace('<br />', "\r\n", $textarea); ?></textarea>
Ma ricorda che tutti gli altri HTML verranno interpretati e non visualizzati. Penso che dovresti risolvere il tuo problema alla fonte e memorizzare il CRLF nel database se non hai bisogno dell'HTML.