ereg_replace

ereg_replace -- Ersetzt einen regulären Ausdruck

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