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

Meine Frage ist, ob man die Wörter in der freien Texteingabe zählen lassen kann. Entweder damit der Proband die Anzahl der bereits geschriebenen Wörter sieht oder das Programm den Klick auf "Weiter" verhindert, wenn eine Mindestanzahl an Wörter nicht erfüllt ist. Ich brauche einen Freitext über 100 Wörter min.
Ich wäre dankbar für Hilfestellungen oder Ideen!

in SoSci Survey (dt.) by s092021 (110 points)
retagged by SoSci Survey

1 Answer

0 votes

Am einfachsten erzielen Sie dies mittels regulärem Ausdruck und preg_match_all():

$text = value('TX01_01');
$wordcount = preg_match_all('/\\b[\\p{L}\\p{N}]{2,}\\b/ui', $text);

Was genau als "Wort" gezählt werden soll, müssen Sie natürlich vorab klären. Dieser PHP-Code zählt alles, was mindestens 2 Buchstaben und/oder Zahlen hat, s. auch Unicode character properties.

Es ist meist hilfreich, die Zählung mittels put() gleich noch im Datensatz in einer internen Variable zu speichern.

by SoSci Survey (129k points)
Leider kenne ich mich mit PHP-Codes nicht aus. Ich konnte diesen zwar einfügen, aber der gewünschte Effekt, d.h. einen Hinweis für den Probanden, sofern min. 100 Wörter nicht erreicht sind bzw. die Verhinderung des Klicks auf "Weiter", konnte ich erzielen.
Sehe Sie sich dazu bitte Filter an und individuelle Antwortprüfungen:
https://www.soscisurvey.de/help/doku.php/de:create:filters
https://www.soscisurvey.de/help/doku.php/de:create:checks#individuelle_antwort-pruefung

Wenn Sie gleich den Klick auf "Weiter" verhindern möchten, müssten Sie zusätzlich noch in JavaScript einsteigen. Das würde ich aber für's ersts mal vertagen - ist für den Anfang ein wenig viel...
...