Kontrola řetězce pomocí regulárního výrazu v PHP
Možnosti regulárních výrazů zdaleka nekončí u vyhledávání a nahrazování.
Existuje také funkce preg_match,
která kontroluje, zda řetězec obsahuje shodu
s regulárním výrazem. První parametr funkce přijímá
regulární výraz a druhý - řetězec pro
vyhledávání.
Přitom, pokud bude shod více,
funkce najde pouze první a ukončí svou
práci. Proto funkce vrátí buď 1,
nebo 0 a používá se k odpovědi na
otázku 'je hledaný výraz v řetězci nebo ne'.
Vrátí jedna - znamená ano (a kolikrát
- není jasné), vrátí nula - znamená ne.
Podívejme se na příkladech. Zkontrolujme,
zda řetězec obsahuje podřetězec skládající se z
písmen 'a', opakovaných jednou nebo vícekrát:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // vypíše 1
?>
Nyní v našem řetězci hledaný výraz není a funkce
vypíše 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // vypíše 0
?>
Určete, zda řetězec obsahuje 3 číslice
po sobě.
Určete, zda předaný řetězec začíná
na http.
Určete, zda předaný řetězec začíná
na http nebo na https.
Určete, zda předaný řetězec končí
příponou txt, html nebo php.
Určete, zda předaný řetězec končí
příponou jpg nebo jpeg.