Função preg_replace

A função preg_replace busca em uma string correspondências com a expressão regular e as substitui pela string especificada. O primeiro parâmetro aceita a expressão regular para pesquisa, o segundo - a string de substituição, o terceiro - a string original. Opcionalmente, pode-se especificar um limite de substituições e uma variável para contar as substituições.

Sintaxe

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

Exemplo

Vamos substituir todos os dígitos na string pelo caractere 'X':

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

Resultado da execução do código:

php'aXbXcX'

Exemplo

Vamos substituir apenas as primeiras 2 correspondências:

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

Resultado da execução do código:

php'aXbXc3'

Exemplo

Uso de referências retroativas na substituição:

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

Resultado da execução do código:

php'World, Hello'

Exemplo

Contagem do número de substituições realizadas:

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

Resultado da execução do código:

php'Result: aXbXcX, Replacements: 3'

Veja também

  • a função preg_match,
    que executa pesquisa por expressão regular
  • a função preg_split,
    que divide uma string por expressão regular