Sie können für ein offenes Eingabefeld auch formatierte Texte zulassen, vgl. Formatierungen erlauben. In diesem Fall wird die Formatierung als HTML-Code gespeichert - und kann als solcher auch im folgenden Fragebogen eingebunden werden.
Wenn Sie nur Zeilen und Einrückungen beibehalten möchten, müssen Sie lediglich dafür sorgen, dass bei der Ausgabe Zeilenumbrüche als <br> kodiert werden. Dafür können Sie die Funktion nl2br() verwenden:
$text = ...;
html('<div>'.nl2br(htmlspecialchars($text)).'</div>');
Alternativ können Sie das <pre> Tag verwenden:
$text = ...;
html('<pre>'.htmlspecialchars($text).'</pre>');
Warum das htmlspecialchars()? Weil der Inhalt sonst als HTML-Code interpretiert wird, auch wenn das nicht so gedacht war. Man stelle sich folgende Eingabe vor:
Also a<b und c>b, daraus folgt dass a kleiner als c ist.
Wenn Sie das ausgeben, gibt der Teil <b und c> als HTML-Tag.