Funksjonen preg_replace

Funksjonen preg_replace søker i en streng etter treff med regulært uttrykk og erstatter dem med en angitt streng. Den tar regulært uttrykk som første parameter, erstatningsstreng som andre parameter, og kilde-strengen som tredje parameter. I tillegg kan man angi en erstatningsgrense og en variabel for å telle erstatninger.

Syntaks

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

Eksempel

La oss erstatte alle sifre i strengen med tegnet 'X':

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

Resultat av kjøring:

php'aXbXcX'

Eksempel

La oss erstatte kun de første 2 treffene:

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

Resultat av kjøring:

php'aXbXc3'

Eksempel

Bruk av backreferanser i erstatning:

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

Resultat av kjøring:

php'World, Hello'

Eksempel

Telling av antall utførte erstatninger:

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

Resultat av kjøring:

php'Result: aXbXcX, Replacements: 3'

Se også

  • funksjonen preg_match,
    som utfører søk med regulært uttrykk
  • funksjonen preg_split,
    som deler en streng med regulært uttrykk