Funktio preg_replace

Funktio preg_replace etsii merkkijonosta säännöllisen lausekkeen osumia ja korvaa ne määritellyllä merkkijonolla. Se ottaa ensimmäisenä parametrina säännöllisen lausekkeen haulle, toisena - korvausmerkkijonon, kolmantena - lähdemerkkijonon. Lisäksi voidaan määrittää korvausten enimmäismäärä ja muuttuja korvausten laskemiseen.

Syntaksi

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

Esimerkki

Korvataan kaikki numerot merkkijonossa symbolilla 'X':

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

Koodin suorituksen tulos:

php'aXbXcX'

Esimerkki

Korvataan vain ensimmäiset 2 osumaa:

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

Koodin suorituksen tulos:

php'aXbXc3'

Esimerkki

Takaisinviittausten käyttö korvauksessa:

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

Koodin suorituksen tulos:

php'World, Hello'

Esimerkki

Suoritettujen korvausten määrän laskeminen:

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

Koodin suorituksen tulos:

php'Tulos: aXbXcX, Korvaukset: 3'

Katso myös

  • funktion preg_match,
    joka suorittaa haun säännöllisellä lausekkeella
  • funktion preg_split,
    joka jakaa merkkijonon säännöllisellä lausekkeella