Die Möglichkeit den Text erst nachträglich zu formatieren ist kein Problem, ich würde jedoch eine andere Möglichkeit vorschlagen:
Bei der Eingabe formatierst du den Text so:
$text = htmlentities($text);
$text= addslashes($text);
$text= str_replace("\n", "<BR>", $text);
Beim Editieren andersherum, htmlentities wird nicht rückgängig gemacht:
$text = str_replace("<BR>", "\n", $text);
$text = stripslashes($text);
Da HTML ja verboten ist und eher die Ausnahme sein sollte fällt htmlentities kaum ins Gewicht.
Bei der normalen Ausgabe brauchst du dann nur stripslashes, aber das braucht man ja immer.