Uvod v regularne izraze v PHP
Regularni izrazi so ukazi za zapleteno iskanje in zamenjavo. Omogočajo zelo zanimive stvari, vendar so žal precej težki za obvladovanje.
Obstaja več funkcij PHP za delo
z regularnimi izrazi. Seznanili se bomo
z njimi na primeru preg_replace. Ta
funkcija sprejme kot prvi parameter kaj zamenjati,
kot drugega - s čim zamenjati, tretji parameter
pa je niz, v katerem je treba zamenjati:
<?php
preg_replace(kaj zamenjati, s čim, niz);
?>
Pri tem prvi parameter naše funkcije ne sprejme
le niza, temveč regularni izraz,
ki je niz z naborom ukazov,
nameščenih znotraj simbolov mrežice #.
Te mrežice imenujemo omejevalniki
regularnih izrazov.
Za omejevalniki lahko pišemo modifikatorje - ukaze, ki spreminjajo splošne lastnosti regularnega izraza.
Sami regularni izrazi so sestavljeni iz dveh vrst simbolov: iz tistih, ki označujejo same sebe, in iz simbolov-ukazov, ki jih imenujemo posebni simboli.
Črke in številke označujejo same sebe. V naslednjem
primeru bomo z regularnim izrazom
zamenjali črko 'a' s '!':
<?php
preg_replace('#a#', '!', 'bab'); // vrne 'b!b'
?>
Pika pa je poseben simbol
in označuje poljuben simbol. V naslednjem
primeru bomo poiskali niz po takšnem vzorcu:
črka 'x', nato poljuben simbol, nato
spet črka 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // vrne '! eee'
?>
Dan je niz:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Napišite regularni izraz, ki bo poiskal nize
'ahb', 'acb', 'aeb'
po vzorcu: črka 'a', poljuben simbol,
črka 'b'.
Dan je niz:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Napišite regularni izraz, ki bo poiskal nize
'aeeb', 'adcb', 'axeb'
po vzorcu: črka 'a', dva poljubna
simbola, črka 'b'.