Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

PHP wyrażenia regularne: przykłady, preg_match

PHP wyrażenia regularne

Wyrażenie regularne to nic innego, jak szablon ciągu. Definiując wyrażenie możemy w dowolny sposób określić format stringa. Narzędzie bardzo przydatne w przypadku sprawdzania poprawności wpisywanych tekstów, jak np. adresu e-mail lub danych osobowych. Wykorzystując wyrażenia regularne możemy również wyszukać oraz podmienić wszystkie podciągi znajdujące się w tekście, które pasują do wpisanej formuły.

W tej lekcji poznamy podstawy konstrukcji wyrażeń regularnych oraz funkcje sprawdzającą występowanie szablonu w ciągu znaków. Zaczniemy od prostego przykładu:

<?php

// konstrukcja wyrażenia regularnego
$wyrazenie = '/^[a-z]+$/';

// preg_match() sprawdza występowanie wyrażenia w ciągu
if(preg_match($wyrazenie, $tekst)) 
   echo("Tekst zawiera tylko małe litery bez polskich znaków.");
else 
   echo("Tekst zawiera dodatkowe znaki.");

?>

Przeanalizujmy powyższy kod. Do zmiennej $wyrazenie przypisaliśmy nasz wzorzec w postaci wyrażenia regularnego (omówienie konstrukcji za chwilę). Na chwilę obecną sprawdza on jedynie, czy ciąg zawiera wyłącznie małe litery bez polskich znaków. Następnie funkcja preg_match($wyrazenie, $tekst) sprawdza, czy w ciągu $tekst znajduje się szablon $wyrazenie. Zwraca TRUE, jeżeli dopasuje szablon lub FALSE, jeśli nie.

Tworzenie wyrażeń regularnych

Na podstawie wyrażenia wpisanego w poprzednim przykładzie omówię ogólne zasady. Wyrażenie regularne musi znaleźć się pomiędzy ukośnikami “/ … /“. W przypadku przypisania do zmiennej nie możemy zapomnieć o apostrofach! Następnie każde wyrażenie regularne należy rozpocząć znakiem ^ oraz zakończyć znakiem $. Są to tak zwane znaki początku i końca.

Między tymi granicami wpisujemy żądaną formułę. W naszym przypadku były to małe litery od a do z. By wpisać przedział znaków wykorzystujemy nawiasy kwadratowe [ ]. Możemy między nimi wpisać dowolne przedziały, np.: [a-eA-E0-7], wtedy wzorcem będą tylko takie ciągi, które zawierają w sobie jedynie małe i wielkie litery od a do e oraz cyfry od 0 do 7.

Tym zakończę wprowadzenie do wyrażeń regularnych. W kolejnej lekcji poznamy dodatkowe wzorce formatowania szablonu, takie jak zaprzeczenia, ilość znaków i wiele innych. Zapraszam na następną lekcję!

Spis lekcji w rozdziale czwartym

Poprzednia lekcja: Manipulacja ciągami Następna lekcja: Wzorce wyrażeń regularnych

komentarze 2

  1. Akurat zacząłem przerabiać wyrażenia regularne i coś jest nie tak, w powyższym skrypcie sprawdzane jest czy występują w tekście tylko małe litery bez polskich znaków. Dlaczego więc po wpisaniu słowa np. “litwo” wyskakuje informacja że tekst zawiera dodatkowe znaki ?

    • Hej Sławek,

      Dziękuję za komentarz. Faktycznie, brakowało plusa na końcu sprawdzenia. Do tej pory skrypt analizował tylko jeden znak 🙂 Teraz działa na cały napis.

Dodaj komentarz

Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.