Funzione preg_replace

La funzione preg_replace cerca in una stringa le corrispondenze con l'espressione regolare e le sostituisce con la stringa specificata. Come primo parametro accetta l'espressione regolare per la ricerca, come secondo - la stringa di sostituzione, come terzo - la stringa originale. Opzionalmente è possibile specificare un limite di sostituzioni e una variabile per il conteggio delle sostituzioni.

Sintassi

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

Esempio

Sostituiamo tutte le cifre nella stringa con il simbolo 'X':

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

Risultato dell'esecuzione del codice:

php'aXbXcX'

Esempio

Sostituiamo solo le prime 2 corrispondenze:

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

Risultato dell'esecuzione del codice:

php'aXbXc3'

Esempio

Utilizzo dei backreference nella sostituzione:

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

Risultato dell'esecuzione del codice:

php'World, Hello'

Esempio

Conteggio del numero di sostituzioni eseguite:

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

Risultato dell'esecuzione del codice:

php'Result: aXbXcX, Replacements: 3'

Vedi anche

  • la funzione preg_match,
    che esegue la ricerca tramite espressione regolare
  • la funzione preg_split,
    che divide una stringa tramite espressione regolare