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