 |
 |
|
|
 |
|
|
 |
|
php.com.hr > Vodič > Regularni izrazi |
Regularni izrazi
PHP ima dvije grupe funkcija koje koriste regularne izraze: PCRE sintaksa (PERL Compatible Regular Expressions) i POSIX proširenu sintaksu.
Za objašnjenje sintakse regularnih izraza upotrijebit ćemo funkciju ereg () koja vraća TRUE ako se regularan izraz nalazi unutar znakovne vrijednosti:
if (ereg ("proba","ovo je proba")) echo "Pronađena je proba";
Za listu znakova za koje se ne zahtjeva poklapanje upotrebljava se znak negacije ^ koji je potrebno postaviti unutar [] zagrada
Ovaj primjer vraća true jer provjerava da li se u varijabli $x nalaze alfanumerički znakovi
$x = &%$ $ima = ereg("[^0-9a-zA-Z]", $x);
Ako je znak ^ postavljen na bilo koje drugo mjesto osim na prvo tretira se kao običan znak.
Za znak minus možete zadati poklapanje ako se postavi na početak ili kraj liste.
Pomoću sidra se može zadati da se uzorak mora nalaziti na početku ili kraju vrijednosti. Znak ^ sidri uzorak na početak a znak $ na kraj vrijednosti.
Npr: ereg ("^test",$var); daje poklapanje za zankovne vrijednosti koje počinju slovima test
Ako u regularnom izrazu iza nekog znaka upišete operator ?, *, +, zadajete poklapanje za nula ili jednog, nula ili više, ili više znakova.
Znakom ? zadaje se 0 ili jedno ponavljanje određenog znaka ereg ("te?t", $var) Daje poklapanje za "te" , "tet" no ne i za "test".
Znakom * zadaje se 0 ili više ponavljanje određenog znaka ereg ("te*t", $var) Daje poklapanje za "te" , "tet", "test" ili "tesssssst".
Znakom + zadaje se poklapanje za jedno ili više ponavljanje ereg ("te+t", $var) Daje poklapanje za "te" , "test" no ne i za "tet".
Poduzorci se mogu grupirati zagradama i tako se operatori primjeniti na grupe umjesto na jedan znak. Npr: ereg ("(abc)+", $var); Daje poklapanje za "abc", "abcabc" ili više...
Alternativni uzorci se zadaju pomoću operatora |
eregi ("\\.(gif|jpg|jpeg|png|bmp)$", $name)) // true za extenzije slika gif, jpg, jpeg, png, bmp
Razlika između funkcije ereg i eregi je u tome što eregi ne pravi razliku između velikih i malih slova.
|
Vodič
|
|
|
© 2004 - 2008 php.com.hr
|