ereg
(PHP 4, PHP 5)
ereg — Sucht Übereinstimmungen mit einem regulären Ausdruck
Beschreibung
Sucht in Zeichenkette unter Berücksichtigung der Groß- und Kleinschreibung nach Übereinstimmungen mit dem regulären Ausdruck, der in Suchmuster angegeben wurde.
Parameter Liste
- Suchmuster
-
Regulärer Ausdruck mit Berücksichtigung der Groß- und Kleinschreibung
- Zeichenkette
-
Die zu durchsuchende Zeichenkette
- regs
-
Wenn Übereinstimmungen mit eingeklammerten Teilzeichenketten von Suchmuster gefunden werden und die Funktion mit dem dritten Argument regs aufgerufen wurde, werden die Übereinstimmungen in den Elementen des Arrays regs gespeichert.
$regs[1] enthält die Teilzeichenkette der ersten Klammer, $regs[2] die Teilzeichenkette der zweiten usw. $regs[0] enthält bei Übereinstimmung mit Zeichenkette eine Kopie der kompletten Zeichenkette .
Rückgabewerte
Gibt die Länge der übereinstimmenden Zeichenkette zurück, falls in Zeichenkette eine Übereinstimmung mit Suchmuster gefunden wurde oder FALSE, wenn keine Übereinstimmung gefunden wurde oder wenn ein Fehler aufgetreten ist.
Falls der optionale Parameter regs nicht übergeben wurde oder die Länge der übereinstimmenden Zeichenkette 0 ist, gibt diese Funktion 1 zurück.
Beispiele
Example#1 ereg() Beispiel
Das folgende Code-Schnipsel mimmt ein Datum im ISO-Format (JJJJ-MM-TT) und gibt es im Format TT.MM.JJJJ aus:
<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Ungültiges Datumsformat: $date";
}
?>
Anmerkungen
Hinweis: Die Funktion preg_match(), die eine zu Perl kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die schnellere Alternative zu ereg().
Hinweis: Bis (und inklusive) PHP 4.1.0 wird $regs mit genau zehn Elementen gefüllt, auch wenn es tatsächlich mehr oder weniger Übereinstimmungen mit den eingeklammerten Teilzeichenketten gibt. Dies wirkt sich aber nicht auf ereg()s Fähigkeit aus, mehr übereinstimmende Teilzeichenketten zu finden. Falls keine Übereinstimmungen gefunden werden, wird $regs nicht von ereg() verändert.