Verificarea unui șir de caractere folosind expresii regulate în PHP
Capacitățile expresiilor regulate nu se limitează doar la căutare și înlocuire. Există și funcția preg_match,
care verifică dacă un șir de caractere se potrivește
cu o expresie regulată. Primul parametru al funcției primește
expresia regulată, iar al doilea - șirul de caractere în care
se face căutarea.
În acest caz, dacă există mai multe potriviri,
funcția va găsi doar prima și își va încheia
lucrarea. Prin urmare, funcția returnează fie 1,
fie 0 și este folosită pentru a răspunde la
întrebarea 'există sau nu ceea ce căutăm în șir'.
Returnează unu - înseamnă că există (dar de câte ori
- nu este clar), returnează zero - înseamnă că nu există.
Să ne uităm la exemple. Să verificăm
dacă în șir există un subșir format din
litera 'a', repetată de una sau mai multe ori:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // va afișa 1
?>
Acum, în șirul nostru nu există ceea ce căutăm, iar funcția
va afișa 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // va afișa 0
?>
Determinați dacă în șir există 3 cifre
la rând.
Determinați dacă șirul transmis începe
cu http.
Determinați dacă șirul transmis începe
cu http sau cu https.
Determinați dacă șirul transmis se termină
cu extensia txt, html sau php.
Determinați dacă șirul transmis se termină
cu extensia jpg sau jpeg.