Когато извеждате в текстова област, трябва да извикате htmlentities
htmlspecialchars
ако текстът ви съдържа HTML.
<textarea><?php echo htmlspecialchars($text); ?></textarea>
Това ще преобразува вашия <br />
към <br />
. Ако оставите <br />
некодирани те просто ще бъдат интерпретирани като HTML.
Ако целта ви е да покажете <br />
или друг HTML в текстовото поле, както е записано в базата данни, трябва да избягвате целия код, който иначе би бил интерпретиран като HTML.
редактиране
Ако искате да изведете прекъсвания на ред вместо <br />
можете да използвате str_replace
:
<textarea><?php echo str_replace('<br />', "\r\n", $textarea); ?></textarea>
Но не забравяйте, че всички останали HTML ще бъдат интерпретирани и няма да се показват. Мисля, че трябва да решите проблема си в източника и да съхраните CRLF в базата данни, ако не се нуждаете от HTML.