PHP4-Forum
Forum | Befehle | MySQL | Beispiele | Newsletter | Suche | Home

Untermenü

Erweitertes
Reguläre Ausdr.
MIME-Mail
PHP und WAP
Crontab
HTTP-Header
Klassen, Objekte

Zu dieser Seite

Reguläre Ausdr.
Grundlagen I
Grundlagen II
ereg() und eregi()
Beispiel zu ereg()
ereg_replace()
Schneller mit PCRE
ereg() und eregi()

In PHP gibt es vier Funktionen, um Reguläre Ausdrücke anzuwenden: ereg, eregi, ereg_replace, eregi_replace. Der einzige Unterschied zwischen ereg und eregi, ereg_replace und eregi_replace sind, dass die Funktionen beginnend mit eregi nicht auf die Groß- und Kleinschreibung achten.
Zunächst werden hier die Funktionen ereg / eregi erklärt. Der Syntax hierfür lautet:

ereg("regex","Zeichenkette" [,$regs]);
eregi("regex","Zeichenkette" [,$regs]);

"regex" ist der reguläre Ausdruck, "Zeichenkette" die zu durchsuchende Zeichenkette und $regs ist die Variable, in der die Treffer gespeichert werden sollen.
Wird in der Zeichenkette alles gefunden, was als regulärer Ausdruck angegeben wurde, gibt die Funktion WAHR (>0) zurück, ansonsten FALSCH (0).
Als regulären Ausdruck können die auf den vorherigen Seiten beschrieben Befehle verwendet werden (z.B: ^[[:digit:]]*.[[:digit:]]{2}$ um eine positive Zahl mit zwei Komma-Stellen zu finden). Falls jedoch auch etwas im Ergebnis-Array ($regs) erscheinen soll, muss dieser Ausdruck nocheinmal mit normalen Klammern umschlossen werden. So wird aus dem obigen Ausdruck ^([[:digit:]]*).([[:digit:]]{2})$.

Das Ergebnis-Array (im Beispiel $regs) ist so aufgebaut:
$regs[0] Die zu durchsuchende Zeichenkette ab dem ersten gefundenen Ausdruck
$regs[1] Der 1. gefundene Ausdruck
$regs[2] Der 2. gefundene Ausdruck
$regs[3] Der 3. gefundene Ausdruck
$regs[4] Der 4. gefundene Ausdruck
$regs[5] Der 5. gefundene Ausdruck
$regs[6] Der 6. gefundene Ausdruck
$regs[7] Der 7. gefundene Ausdruck
$regs[8] Der 8. gefundene Ausdruck
$regs[9] Der 9. gefundene Ausdruck


Beispiel
$str = 15.65;
if(ereg("^([[:digit:]]*).([[:digit:]]{2})$",$str,$regs)) {
  echo "Die Zahl ist gültig: $str<BR>";
  echo "Vor dem Komma: ".$regs[1].", nach dem Komma: ".$regs[2];
} else {
  echo "Ungültige Zahl: $str<BR>";
  echo "Positive Zahl mit zwei Stellen hinter dem Komma eingeben!";
}


Ausgabe:
Die Zahl ist gültig: 15.65
Vor dem Komma: 15, nach dem Komma: 65
Dienstleistungen | Werbung | Impressum | Sitemap | Kontakt | Email © 1999 - 2009 | Last Update: 30.01.2001