Funktion preg_replace

Die Funktion preg_replace sucht in einer Zeichenkette nach Übereinstimmungen mit einem regulären Ausdruck und ersetzt diese durch die angegebene Zeichenkette. Der erste Parameter akzeptiert den regulären Ausdruck für die Suche, der zweite die Ersatzzeichenkette, der dritte die ursprüngliche Zeichenkette. Zusätzlich können ein Ersetzungslimit und eine Variable für die Zählung der Ersetzungen angegeben werden.

Syntax

phppreg_replace(pattern, replacement, subject, [limit], [count]);

Beispiel

Ersetzen wir alle Ziffern in der Zeichenkette durch das Symbol 'X':

php<?php
  $str = 'a1b2c3';
  $res = preg_replace('/\d/', 'X', $str);
  echo $res;
?>

Ergebnis der Codeausführung:

php'aXbXcX'

Beispiel

Ersetzen wir nur die ersten 2 Übereinstimmungen:

php<?php
  $str = 'a1b2c3';
  $res = preg_replace('/\d/', 'X', $str, 2);
  echo $res;
?>

Ergebnis der Codeausführung:

php'aXbXc3'

Beispiel

Verwendung von Rückwärtsverweisen in der Ersetzung:

php<?php
  $str = 'Hello World';
  $res = preg_replace('/(\w+)\s(\w+)/', '$2, $1', $str);
  echo $res;
?>

Ergebnis der Codeausführung:

php'World, Hello'

Beispiel

Zählen der Anzahl durchgeführter Ersetzungen:

php<?php
  $str = 'a1b2c3';
  $count = 0;
  $res = preg_replace('/\d/', 'X', $str, -1, $count);
  echo "Result: $res, Replacements: $count";
?>

Ergebnis der Codeausführung:

php'Result: aXbXcX, Replacements: 3'

Siehe auch

  • die Funktion preg_match,
    die eine Suche mit einem regulären Ausdruck durchführt
  • die Funktion preg_split,
    die eine Zeichenkette anhand eines regulären Ausdrucks aufteilt