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_replace()

Nachdem man mit ereg und eregi Daten aus Zeichenketten herausfiltern kann, lassen sich mit ereg_replace Daten ersetzen. Wie dies Funktioniert, soll im Folgenden erläutert werden. Hierzu wird allerdings das Verständniss der bisherigen Seiten der Regulären Ausdrücke, insbesondere ereg und eregi vorrausgesetzt.

Zunächst sollte der Syntax für ereg_replace / eregi_replace klar werden:

$Neue_Zeichenkette = ereg_replace("regex", "ersetzt", $Zeichenkette);
$Neue_Zeichenkette = eregi_replace("regex", "ersetzt", $Zeichenkette);

"regex" ist der reguläre Ausdruck wie er bereits aus ereg und eregi bekannt sein sollte. Neu ist jetzt die Zeichenkette "ersetzt". Der Inhalt wird später erläutert. Als letztes Argument ist die ursprüngliche "Zeichenkette" zu erwähnen, die zu durchsuchende Zeichenkette darstellt.
Das zweite Argument ist die Zeichenkette die anstelle des gefundenen Strings tritt. So geben die folgenden Befehle immer PHP4 ist toll aus:

echo eregi_replace("PHP[[:digit:]]?", "PHP4", "PHP3 ist toll");
echo eregi_replace("PHP[[:digit:]]?", "PHP4", "PHP2 ist toll");
echo eregi_replace("PHP[[:digit:]]?", "PHP4", "PHP ist toll");


Das ist natürlich noch nicht so sehr praktisch, denn man kann nicht individuell auf das gefundene eingehen. Wenn z.B. im Text "php" (kleingeschrieben) steht, so wird PHP trotzdem großgeschrieben. Man müsste also auf die REGEX-Abfrage zugreifen können. Dies ist auch möglich. Denn wie bei ereg und eregi werden alle Ausdrücke die eingeklammert sind gespeichert. Um auf diese nun zuzugreifen, wird ein Doppel-Backslash \\ gefolgt von der Nummer des Treffers (von 1 bis 9) verwendet:

echo eregi_replace("(PHP)[[:digit:]]?", "\\14", "PHP3 ist toll");
echo eregi_replace("(PHP)[[:digit:]]?", "\\14", "php3 ist toll");


In diesem Beispiel wird als erstes PHP4 ist toll und anschließend php4 ist toll ausgegeben.

Dieses Schema lässt sich auf viele Anwendungsmöglichkeiten übertragen und es sind kaum Grenzen gesetzt.
Dienstleistungen | Werbung | Impressum | Sitemap | Kontakt | Email © 1999 - 2009 | Last Update: 23.02.2001