Es kann vorkommen, dass ein Besucher bei der Eingabe von Daten in ein Formular nicht auf korrekte Groß- und Kleinschreibung achtet, bzw. alles gross oder alles klein schreibt. Wenn bei der weiteren Verarbeitung zum Beispiel nach Übereinstimmungen für den eingegebenen Ausdruck gesucht werden soll, und die Groß- und Kleinschreibung dabei keine Rolle spielen soll, muss ein regulärer Ausdruck erstellt werden.
Hierfür gibt es die Funktion sql_regcase(). Mit dieser Funktion wird ein regulärer Ausdruck erstellt, so dass eine Suche ohne Berücksichtigung von Groß- und Kleinschreibung möglich ist. Dies wird realisiert, indem der eingegebene Ausdruck in einen Klammerausdruck umgewandelt wird. Dieser Ausdruck besteht aus Klammern, die die einzelnen Buchstaben des Ausdrucks jeweils in Groß- und in Kleinschreibung enthalten. Die Klammern enthalten nur Buchstaben. Alle anderen Zeichen werden nicht berücksichtigt.
Der Syntax:
sql_regcase(string $string)
Beispiel:
<?php
/*
* Created on 13.01.2010 by Nico Schubert
*/
$string = 'Das ist ein Test Text.';
echo sql_regcase($string);
?>
Ausgabe:
[Dd][Aa][Ss] [Ii][Ss][Tt] [Ee][Ii][Nn] [Tt][Ee][Ss][Tt] [Tt][Ee][Xx][Tt]
Erklärung:
In der Variablen $string ist ein Text enthalten, der sowohl Groß- als auch Kleinbuchstaben enthält. Mit der Funktion sql_regcase wird ein regulärer Ausdruck erstellt, der aus einem Klammerausdruck besteht. Die einzelnen Klammern des Ausdrucks enthalten die Buchstaben des ursprünglichen Ausdrucks jeweils in Groß- und in Kleinschreibung. Im nächsten Schritt wird der Inhalt der Variablen $string mit der echo-Anweisung ausgegeben.
Im Gegensatz zu den Funktionen strtoupper() und strtolower(), mit denen ein String entweder komplett in Großbuchstaben oder komplett in Kleinbuchstaben umgewandelt werden kann, wandelt die Funktion sql_regcare() den String in einen regulären Ausdruck um. Dieser Ausdruck ermöglicht es Produkten, die reguläre Ausdrücke unterstützen, Übereinstimmungen mit Suchmustern ohne Berücksichtigung von Groß- und Kleinschreibung zu finden.