Funkce preg_replace

Funkce preg_replace hledá v řetězci shody s regulárním výrazem a nahrazuje je zadaným řetězcem. První parametr přijímá regulární výraz pro vyhledávání, druhý - řetězec pro nahrazení, třetí - zdrojový řetězec. Dodatečně lze určit limit nahrazování a proměnnou pro počítání nahrazení.

Syntaxe

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

Příklad

Nahradíme všechny číslice v řetězci symbolem 'X':

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

Výsledek provedení kódu:

php'aXbXcX'

Příklad

Nahradíme pouze první 2 shody:

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

Výsledek provedení kódu:

php'aXbXc3'

Příklad

Použití zpětných odkazů v nahrazení:

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

Výsledek provedení kódu:

php'World, Hello'

Příklad

Počítání množství provedených nahrazení:

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

Výsledek provedení kódu:

php'Result: aXbXcX, Replacements: 3'

Viz také

  • funkci preg_match,
    která provádí vyhledávání pomocí regulárního výrazu
  • funkci preg_split,
    která rozděluje řetězec podle regulárního výrazu