ereg_replace

(PHP 4, PHP 5)

ereg_replaceErsetzt einen regulären Ausdruck

Warnung

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:

Beschreibung

ereg_replace ( string $pattern , string $replacement , string $string ) : string

Diese Funktion durchsucht string nach Übereinstimmungen mit pattern und ersetzt dann den übereinstimmenden Text durch replacement.

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);
?>

Siehe auch

  • ereg() - Sucht Übereinstimmungen mit einem regulären Ausdruck
  • eregi() - Sucht Übereinstimmung mit regulärem Ausdruck ohne Berücksichtigung von Groß-/Kleinschreibung
  • eregi_replace() - Ersetzt einen regulären Ausdrück ohne Berücksichtigung von Groß-/Kleinschreibung
  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • quotemeta() - Quoten von Meta-Zeichen