Funkcja preg_replace

Funkcja preg_replace wyszukuje w ciągu znaków dopasowania do wyrażenia regularnego i zastępuje je określonym ciągiem. Jako pierwszy parametr przyjmuje wyrażenie regularne do wyszukiwania, jako drugi - ciąg zastępujący, jako trzeci - ciąg źródłowy. Dodatkowo można określić limit zamian oraz zmienną do zliczania zamian.

Składnia

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

Przykład

Zamieńmy wszystkie cyfry w ciągu na symbol 'X':

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

Wynik wykonania kodu:

php'aXbXcX'

Przykład

Zamieńmy tylko pierwsze 2 dopasowania:

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

Wynik wykonania kodu:

php'aXbXc3'

Przykład

Użycie odwróconych referencji w zamianie:

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

Wynik wykonania kodu:

php'World, Hello'

Przykład

Zliczanie liczby wykonanych zamian:

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

Wynik wykonania kodu:

php'Result: aXbXcX, Replacements: 3'

Zobacz też

  • funkcję preg_match,
    która wykonuje wyszukiwanie według wyrażenia regularnego
  • funkcję preg_split,
    która dzieli ciąg według wyrażenia regularnego