ereg_replace
Ersetzt einen regulären Ausdruck
Beschreibung
string ereg_replace
( string $pattern
, string $replacement
, string $string
)
Diese Funktion durchsucht string nach
Übereinstimmungen mit pattern und ersetzt dann
den übereinstimmenden Text durch replacement.
WarnungDiese Funktion ist
seit PHP 5.3.0 DEPRECATED (veraltet). Sich auf diese
Funktion zu verlassen ist in keiner Weise empfehlenswert.
Parameter-Liste
-
pattern
-
Ein POSIX-erweiterter regulärer Ausdruck
-
replacement
-
Wenn pattern eingeklammerte Teilzeichenketten
enthält, darf replacement Teilzeichenketten der
Form \Ziffer enthalten,
die dann durch die Ziffer'ste Teilzeichenkette ersetzt werden.
\0 erzeugt den gesamten Inhalt der durchsuchten
Zeichenkette. Bis zu neun Teilzeichenketten dürfen verwendet werden.
Klammern dürfen geschachtelt werden und werden in diesem Fall anhand
der öffnenden Klammern gezählt.
-
string
-
Die zu durchsuchende Zeichenkette
Rückgabewerte
Zurückgegeben wird die geänderte Zeichenkette. Wenn in
string keine Übereinstimmungen gefunden werden, wird
sie unverändert zurückgegeben.
Beispiele
Der folgende Code-Schnipsel gibt zum Beispiel dreimal "Das war ein Test"
aus:
Beispiel #1 ereg_replace-Beispiel
<?php
$string = "Das ist ein Test";
echo ereg_replace(" ist", " war", $string);
echo ereg_replace("( )ist", "\\1war", $string);
echo ereg_replace("(( )ist)", "\\2war", $string);
?>
Folgendes ist zu beachten: Wenn Sie als replacement
einen ganzzahligen Wert verwenden, bekommen sie vielleicht nicht das
erwartete Ergebnis. Das liegt daran, dass ereg_replace
die Zahl als Ordinalwert eines Zeichens betrachtet und dieses verwendet.
Zum Beispiel:
Beispiel #2 ereg_replace-Beispiel
<?php
/* Dieses funktioniert nicht wie erwartet. */
$zahl = 4;
$zeichenkette = "Diese Zeichenkette hat vier Wörter.";
$zeichenkette = ereg_replace('vier', $zahl, $zeichenkette);
echo $zeichenkette; /* Ausgabe: 'Diese Zeichenkette hat Wörter.' */
/* Dieses funktioniert. */
$zahl = '4';
$zeichenkette = "Diese Zeichenkette hat vier Wörter.";
$zeichenkette = ereg_replace('vier', $zahl, $zeichenkette);
echo $zeichenkette; /* Output: 'Diese Zeichenkette hat 4 Wörter.' */
?>
Beispiel #3 Ersetzen von URLs durch Links
<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
'<a href="\\0">\\0</a>', $text);
?>
Anmerkungen
Hinweis:
Seit PHP 5.3.0 ist
die regex-Erweiterung zugunsten der PCRE-Erweiterung
als veraltete markiert. Ein Aufruf dieser Funktion wird eine
E_DEPRECATED-Notice ausgeben. Sie können sich
die Liste der Unterschiede
ansehen, wenn Sie Hilfe beim Umstieg auf PCRE benötigen.
Tipp
ereg_replace ist ab PHP 5.3.0 veraltet. Verwenden Sie
stattdessen preg_replace.
Siehe auch
- ereg
- eregi
- eregi_replace
- str_replace
- preg_replace
- quotemeta