In diesem Tutorial möchte ich erklären, wie man mit Hilfe der Funktionen ereg() und eregi() einen String nach einem Suchstring durchsuchen kann. Der Unterschied zwischen den beiden Funktionen besteht darin, dass die Funktion ereg() den String unter Berücksichtigung von Groß- und Kleinschreibung durchsucht, während die eregi() keine Groß- und Kleinschreibung berücksichtigt.
Der Syntax:
ereg ( suchstring, zeichenkette, optional regs[])
Code für Beispiel 1:
<?php
/*
* Created on 13.01.2010 by Nico Schubert
*/
$string = 'Das ist ein Test Text';
$suchstring = '[a-z]';
$rueckgabe_ereg = ereg($suchstring, $string);
if ($rueckgabe_ereg == 1)
echo 'Dieser Text enthält wirklich nur
Buchstaben.';
else
echo 'Dieser Text besteht nicht Buchstaben!';
?>
Ausgabe Beispiel 1:
Dieser Text enthält wirklich nur Buchstaben.
Im Beispiel durchsucht die Funktion ereg() die Zeichenkette $string nach den Buchstaben a-z. Da in $string Buchstaben enthalten sind, findet die Funktion Übereinstimmungen und gibt den Wert 1 zurück, der in der Variablen $rueckgabe_ereg gespeichert wird. Diese Variable wird in der if-Abfrage auf den Wert 1 abgefragt. Weil das Ergebnis dieser Abfrage true ist, wird per echo-Anweisung der Satz "Dieser Text enthält wirklich nur Buchstaben!" ausgegeben.
Der Syntax:
eregi ( suchstring, zeichenkette, optional regs[])
Code für Beispiel 2:
<?php
/*
* Created on 13.01.2010 by Nico Schubert
*/
$string = 'Das ist ein Test Text.';
$suchstring = 'TEXT';
$rueckgabe_ereg = eregi($suchstring, $string);
if ($rueckgabe_ereg == 1)
echo 'Das Wort: '. $suchstring . ' wurde
gefunden!';
else
echo 'Das Wort: '. $suchstring . ' wurde nicht
gefunden!';
?>
Ausgabe Beispiel 2:
Das Wort: TEXT wurde gefunden!
In Beispiel 2 durchsucht die Funktion eregi() die Zeichenkette $string nach der Zeichenkette $suchstring, die TEXT enthält. Da die Funktion Groß- und Kleinschreibung berücksichtigt, wird das Suchmuster nicht gefunden, denn in $string enthält das Wort Text Groß- und Kleinbuchstaben. Die Funktion gibt den Wert 0 zurück, der in der Variablen $rueckgabe_ereg gespeichert wird. Das Ergebnis der if-Abfrage ist false, deshalb wird per echo-Anweisung der Satz "Das Wort TEXT wurde nicht gefunden!" zurückgegeben.
Bei beiden Funktionen hat man die Möglichkeit, einen optionalen dritten Parameter beim Aufruf der Funktion anzugeben. In dieser Variablen von Typ Array werden die Übereinstimmungen gespeichert, die gefunden wurden. So können sie anschließend per echo-Anweisung ausgegeben werden. Wenn man den Parameter nicht angibt, dann kann man mit dieser Funktion nur prüfen, ob Übereinstimmungen vorhanden sind.