Kontrola reťazca pomocou regulárneho výrazu v PHP
Vyhľadávanie a nahradzovanie zďaleka nevyčerpáva
možnosti regulárnych výrazov. Existuje tiež funkcia preg_match,
ktorá kontroluje, či sa v reťazci nachádza zhoda
s regulárnym výrazom. Prvým parametrom funkcia prijíma
regulárny výraz, a druhým - reťazec pre
vyhľadávanie.
Pri tom, ak bude zhôd veľa, -
funkcia nájde len prvú a ukončí svoju
prácu. Preto funkcia vráti buď 1,
alebo 0 a používa sa na odpoveď na
otázku 'je hľadané v reťazci alebo nie'.
Vráti jeden - znamená áno (a koľkokrát
- nie je jasné), vráti nula - znamená nie.
Pozrime sa na príkladoch. Skontrolujme,
či sa v reťazci nachádza podreťazec, pozostávajúci z
písmen 'a', zopakovaných raz alebo viackrát:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // vypíše 1
?>
A teraz v našom reťazci nie je hľadané, a funkcia
vypíše 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // vypíše 0
?>
Určite, či sa v reťazci nachádza 3 číslice
po sebe.
Určite, či začína odovzdaný reťazec
s http.
Určite, či začína odovzdaný reťazec
s http alebo s https.
Určite, či končí odovzdaný reťazec
príponou txt, html alebo php.
Určite, či končí odovzdaný reťazec
príponou jpg alebo jpeg.