Sprawdzanie ciągu znaków za pomocą wyrażenia regularnego w PHP
Możliwości wyrażeń regularnych nie ograniczają się
tylko do wyszukiwania i zamiany. Istnieje również funkcja
preg_match,
która sprawdza, czy w ciągu znaków występuje dopasowanie
do wyrażenia regularnego. Pierwszym parametrem funkcja przyjmuje
wyrażenie regularne, a drugim - ciąg znaków do
przeszukania.
Przy tym, jeśli dopasowań będzie wiele, -
funkcja znajdzie tylko pierwsze i zakończy swoją
pracę. Dlatego funkcja zwraca albo 1,
albo 0 i jest używana do odpowiedzi na
pytanie 'czy szukane znajduje się w ciągu, czy nie'.
Zwróci jeden - oznacza to, że jest (a ile razy
- niejasne), zwróci zero - oznacza to, że nie ma.
Spójrzmy na przykładach. Sprawdźmy,
czy w ciągu znaków znajduje się podciąg składający się z
liter 'a', powtórzonych raz lub więcej:
<?php
echo preg_match('#a+#', 'eee aaa bbb'); // wyświetli 1
?>
A teraz w naszym ciągu nie ma szukanego, i funkcja
wyświetli 0:
<?php
echo preg_match('#a+#', 'eee bbb'); // wyświetli 0
?>
Określ, czy w ciągu znaków znajdują się 3 cyfry
z rzędu.
Określ, czy przekazany ciąg znaków zaczyna się
od http.
Określ, czy przekazany ciąg znaków zaczyna się
od http lub od https.
Określ, czy przekazany ciąg znaków kończy się
rozszerzeniem txt, html lub php.
Określ, czy przekazany ciąg znaków kończy się
rozszerzeniem jpg lub jpeg.