Leerzeichen am Anfang und Ende werden Sie mit trim()
los, die Groß-Kleinschreibung können Sie mit strtolower()
nivellieren - allerdings kann das keine Umlaute, aber die sollten die Nutzer:innen hoffentlich nicht groß schreiben. Falls doch, müsste man noch eine Umschreibung von Umlauten vornehmen (ö -> oe etc.).
Okay, also, wenn wir die beiden Dinge haben, dann
if (strtolower(trim($a)) == strtolower(trim($b))) { ... }
So, woher kommen die beiden Dinge? Ich würde da ein Array mit richtigen verwenden, wenn wir im Bereich 5-20 sind. Bei deutlich mehr Wörtern würde ich eher die Datenbank für Inhalte nutzen. Wenn man also nun das Array hätte, sähe es so aus:
$richtig = [
1 => 'Apfel',
2 => 'Birne',
3 => 'Clementine',
4 => 'Dattel'
];
Wenn Ihre Abfrage nun in TX01_01 bis TX01_04 steht, könnte das mit loopToPage()
wie folgt aussehen.
// Erste Seite
$i = loopToPage('second', 4);
question('TX01', [$i + 1]);
// Zweite Seite
$richtige = [
1 => 'Apfel',
2 => 'Birne',
3 => 'Clementine',
4 => 'Dattel'
];
$i = loopIndex();
$antwort = value(id('TX01', $i + 1));
$richtig = $richtige[$i + 1];
u.s.w.