Beschreibung
string
ereg_replace
( string Suchmuster, string Ersatz, string Zeichenkette)
Anmerkung
:
Die
Funktion
preg_replace(
)
,
die
eine
zu
Perl
kompatible
Syntax
regulärer
Ausdrücke
verwendet
,
ist
häufig
die
schnellere
Alternative
zu
ereg_replace(
)
.
Diese
Funktion
durchsucht
Zeichenkette
nach
Übereinstimmungen
mit
Suchmuster
und
ersetzt
dann
den
übereinstimmenden
Text
durch
Ersatz
.
Zurückgegeben
wird
die
geänderte
Zeichenkette
,
was
auch
bedeuten
könnte
,
dass
die
ursprüngliche
Zeichenkette
zurückgegeben
wird
,
wenn
es
keine
zu
ersetzenden
Übereinstimmungen
gibt
.
Wenn
Suchmuster
eingeklammerte
Teilzeichenketten
enthält
,
darf
Ersatz
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
.
Wenn
in
Zeichenkette
keine
Übereinstimmungen
gefunden
werden
,
wird
Zeichenkette
unverändert
zurückgegeben
.
Der
folgende
Code-Schnipsel
gibt
zum
Beispiel
dreimal
"
Das
war
ein
Test
"
aus
:
Beispiel
1
.
ereg_replace(
)
Beispiel
$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
Ersatz
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
|
Siehe
auch
:
ereg(
)
,
eregi(
)
,
eregi_replace(
)
,
str_replace(
)
und
preg_match(
)
.