Keresés, és csere sztringben, PHP-val

2019.12.06

A str_replace vs. preg_replace. Melyik mire jó?

A PHP nyelvben gyakran előfordul, hogy egy sztringben (szövegben) le kell cserélnünk bizonyos karaktereket, vagy szöveg mintákat.

MIkor jöhet ez jól?

Például amikor egy cikk, oldal, bejegyzés, termék stb.. nevéből le akarod generálni az oldalbarát URL-t!

Erre ugye két függvényünk is van:

az egyik: a str_replace();

a másik pedig a preg_replace();

A str_replace() egy előre megahtározott fix szöveget keres a sztring-ben, tehát "Az alma nem esik messze a fájától" szövegben, pl. az almát az alábbiak szerint cserélhetnénk le:

$miben = "Az alma nem esik messze a fájától";
$mit = "alma";
$mire = "barack";
$ujszoveg = str_replace($mit, $mire, $miben);
Az eredmény: Az barack nem esik messze a fájától.

A preg_replace() viszont Reguláris Kifejezések mentén keres mintát. Tehát "/al.{2}/" lehet pl. a minta amiszerint keresek.

Vagyis minden olyan "al" kezdetű szöveget le fog cserélni ami négy karakter hosszú: alma, alga, adva.

A függvény paraméterezésének használata pedig megegyezik a str_replace függvényével.

Szerző: Ambrus László | immi.hu