Uvod u regularne izraze u PHP-u
Regularni izrazi su takve komande za složenu pretragu i zamenu. Oni omogućavaju vrlo zanimljive stvari, ali su, nažalost, prilično teški za savladavanje.
Postoji nekoliko PHP funkcija za rad
sa regularnim izrazima. Upoznaćemo se
s njima na primeru preg_replace. Ova
funkcija kao prvi parametar uzima šta zameniti,
a kao drugi - čime zameniti, a kao treći parametar
- string u kom treba vršiti zamenu:
<?php
preg_replace(šta zameniti, čime, string);
?>
Pritom, prvi parametar naša funkcija prima
ne samo string, već regularni izraz,
koji predstavlja string sa skupom komandi,
smještenih unutar simbola tarabe #.
Ove tarabe se nazivaju ograničivačima
regularnih izraza.
Nakon ograničivača se mogu pisati modifikatori - komande koje menjaju opšta svojstva regularnog izraza.
Sami regularni izrazi se sastoje od dve vrste simbola: onih koji označavaju samog sebe i od simbola-komandi, koji se nazivaju specijalni simboli.
Slova i cifre označavaju samog sebe. U sledećem
primeru ćemo pomoću regularnog izraza
zameniti slovo 'a' sa '!':
<?php
preg_replace('#a#', '!', 'bab'); // vratiće 'b!b'
?>
A tačka je specijalni simbol
i označava bilo koji simbol. U sledećem
primeru ćemo pronaći string po takvom šablonu:
slovo 'x', zatim bilo koji simbol, zatim
opet slovo 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // vratiće '! eee'
?>
Dat je string:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Napišite regularni izraz koji će pronaći stringove
'ahb', 'acb', 'aeb'
po šablonu: slovo 'a', bilo koji simbol,
slovo 'b'.
Dat je string:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Napišite regularni izraz koji će pronaći stringove
'aeeb', 'adcb', 'axeb'
po šablonu: slovo 'a', dva bilo koja
simbola, slovo 'b'.