Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Ich möchte die Texteingaben aus einem Feld vom Typ "offene Texteingabe" von Teilnehmern in der Datenbank für Inhalte speichern, um diese den Teilnehmern in einem späteren Fragebogen wieder anzeigen zu lassen.

Die Teilnehmer schreiben häufig Stichpunkte über mehrere Zeilen oder sogar ganze Texte.

Wenn ich die Ergebnisse nun speichere in der Datenbank für Inhalte und dann in einem späteren Interview wieder ausspiele, ist leider die ganze Formatierung weg und der Text steht unmittelbar hintereinander, es gibt keine Absätze mehr und keine die Zeilenumbrüche des Teilnehmers sind weg...

Gibt es eine Möglichkeit die Formatierung bei der Speicherung beizubehalten?

in SoSci Survey (dt.) by s085548 (345 points)

1 Answer

+1 vote

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.

by SoSci Survey (194k points)
Vielen Dank, so funktioniert es bestens!
...