Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
de:create:filter-texts [04.10.2011 21:14] – angelegt admin | de:create:filter-texts [28.11.2014 11:03] (aktuell) – Aktualisierung admin | ||
---|---|---|---|
Zeile 15: | Zeile 15: | ||
</ | </ | ||
- | **Tipp:** Lesenswert in diesem Kontext kann auch das Kapitel [[placeholders|Platzhalter]] sein. | + | Der obige PHP-Code funktioniert |
- | + | ||
- | Der obige PHP-Code funktioniert - aber er reagiert recht sensibel auf Leerzeichen: | + | |
<code php> | <code php> | ||
Zeile 24: | Zeile 22: | ||
} | } | ||
</ | </ | ||
+ | |||
===== Mindest-Textlänge prüfen ===== | ===== Mindest-Textlänge prüfen ===== | ||
- | Eine weitere praktische Funktion ist '' | + | Eine weitere praktische Funktion ist '' |
<code php> | <code php> | ||
Zeile 35: | Zeile 34: | ||
</ | </ | ||
- | Oder etwas lesbarer (wenn man bei so vielen Klammern den Überblick verliert): | + | Oder etwas lesbarer (falls man bei so vielen Klammern den Überblick verliert): |
<code php> | <code php> | ||
- | $eingabe = value(' | + | $eingabe = value(' |
- | $ohneLeer = trim($eingabe); | + | $ohneLeer = trim($eingabe); |
- | $laenge = strlen($ohneLeer); | + | $laenge = strlen($ohneLeer); |
if ($laenge > 3) { | if ($laenge > 3) { | ||
question(' | question(' | ||
} | } | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Text vergleichen ===== | ||
+ | |||
+ | Soll überprüft werden, ob der Teilnehmer die richtige Antwort gegeben hat, funktioniert das durch die Vergleichsoperatoren '' | ||
+ | |||
+ | <code php> | ||
+ | if (value(' | ||
+ | repeatPage(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Evtl. möchte man bei der Groß- und Kleinschreibung nicht pingelig sein -- dafür konvertiert man die Eingabe des Teilnehmers mittels '' | ||
+ | |||
+ | <code php> | ||
+ | if (strtolower(value(' | ||
+ | repeatPage(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Leerzeichen am Anfang/Ende können wieder durch das bekannte '' | ||
+ | |||
+ | <code php> | ||
+ | if (strtolower(trim(value(' | ||
+ | repeatPage(); | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Zahlen in der offenen Eingabe ===== | ||
+ | |||
+ | PHP ist bei der Unterscheidung von Texten und Zahlen nicht kleinlich. Möchte man überprüfen, | ||
+ | |||
+ | <code php> | ||
+ | if (value(' | ||
+ | question(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Man sollte für das Eingabefeld dann aber tunlichst einstellen, dass der Teilnehmer nur Ziffern eintragen kann (s. [[: | ||
+ | |||
+ | Folgender Filter greift nur, wenn der Teilnehmer eine Zahl eingegeben hat und diese Zahl größer als 10 ist. | ||
+ | |||
+ | <code php> | ||
+ | $eingabe = value(' | ||
+ | if (is_numeric($eingabe) and ($eingabe > 10)) { | ||
+ | question(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Ebenso kann man PHP anweisen, die Eingabe des Teilnehmers so gut wie möglich in eine Zahl umzuwandeln. Aus einem " | ||
+ | |||
+ | <code php> | ||
+ | $eingabe = intval(value(' | ||
+ | if ($eingabe > 10) { | ||
+ | question(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <code php> | ||
+ | $eingabe = (int)value(' | ||
+ | if ($eingabe > 10) { | ||
+ | question(' | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | **Vorsicht: |