(PHP 4, PHP 5)
ereg_replace — Ersetzt einen regulären Ausdruck
Diese Funktion wurde in PHP 5.3.0 als DEPRECATED (veraltet) markiert und in PHP 7.0.0 REMOVED entfernt.
Alternativ können die folgenden Funktionen verwendet werden:
$pattern
, string $replacement
, string $string
) : string
Diese Funktion durchsucht string
nach
Übereinstimmungen mit pattern
und ersetzt dann
den übereinstimmenden Text durch replacement
.
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
Zurückgegeben wird die geänderte Zeichenkette. Wenn in
string
keine Übereinstimmungen gefunden werden, wird
sie unverändert zurückgegeben.
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);
?>