Übersetzungen dieser Seite:
 

Dies ist eine alte Version des Dokuments!


Nach Texteingaben filtern

Normalerweise überprüft man, ob in einer Auswahl oder einer Skala ein bestimmter Wert gewählt wurde – wenn man prüfen möchte, ob ein Teilnehmer etwas bestimmtes in ein offenes Texteingabefeld geschrieben hat, dann läuft das im Prinzip genauso.

Der Unterschied besteht darin, dass man nicht mit Zahlen, sondern mit Texten vergleicht.

Prüfen, ob etwas angegeben wurde

Meist möchte man einfach nur prüfen, ob irgend etwas in ein Texteingabefeld eingetragen wurde. Oder für Programmierer formuliert: Ob etwas anderes als der leere String (kein Text) eingetragen wurde. Den leeren String schriebt man einfach durch zwei einfache Anführungszeichen ('') oder durch zwei doppelte Anführungszeichen ("") mit nichts dazwischen.

if (value('AB01_01') != '') {
  question('BB01');
}

Tipp: Lesenswert in diesem Kontext kann auch das Kapitel Platzhalter sein.

Der obige PHP-Code funktioniert - aber er reagiert recht sensibel auf Leerzeichen: Wenn ein Teilnehmer nur Leerzeichen in ein Textfeld einträgt, dann würde man das eigentlich lieber als „keine Angabe“ werten. Dafür gibt es die Funktion trim(), die Leerzeichen am Anfang und Ende einfach entfernt. Im Filter entfernt man also erst die Leerzeichen und vergleicht dann:

if (trim(value('AB01_01')) != '') {
  question('BB01');
}

Mindest-Textlänge prüfen

Eine weitere praktische Funktion ist strlen() – die verrät die Länge eines Strings. Wenn man also weiß, dass jede sinnvolle Angabe mindestens 4 Zeichen haben muss, dann kann man auch die String-Länge prüfen. Damit Leerzeichen keine falschen Entscheidungen zur Folge haben, wird auch hier wieder trim() verwendet.

if (strlen(trim(value('AB01_01'))) > 3) {
  question('BB01');
}

Oder etwas lesbarer (wenn man bei so vielen Klammern den Überblick verliert):

$eingabe = value('AB01_01');
$ohneLeer = trim($eingabe);
$laenge = strlen($ohneLeer);
if ($laenge > 3) {
  question('BB01');
}
de/create/filter-texts.1317755648.txt.gz · Zuletzt geändert: 04.10.2011 21:14 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki