BLACK FRIDAY!     |        !!! do -70% na kursy i ścieżki kariery !!!     |       Jeszcze przez:

4 dni 02 godzin
close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności

Wyrażenia Regularne (RegEx) w PHP

Wyrażenia regularne (RegEx) to potężne narzędzie, które umożliwia efektywne wyszukiwanie, dopasowywanie i manipulowanie tekstem. W kontekście programowania w PHP wyrażenia regularne są szczególnie przydatne do:

  • Przetwarzania danych wejściowych
  • Walidacji formularzy
  • Wyszukiwania wzorców w tekstach

W tym artykule zapoznamy się z podstawami wyrażeń regularnych w PHP oraz pokażemy, jak zbudować proste wyrażenie regularne.

Praca z Wyrażeniami Regularnymi w PHP

W PHP najczęściej do pracy z wyrażeniami regularnymi używamy funkcji z biblioteki PCRE (Perl-Compatible Regular Expressions). Funkcje te zaczynają się od prefiksu preg_.

Podstawowe Funkcje PCRE w PHP

Oto niektóre z podstawowych funkcji PCRE, które są używane w PHP:

  • preg_match(): Sprawdza, czy wzór pasuje do tekstu.
  • preg_replace(): Zastępuje wystąpienia wzoru nowym ciągiem.
  • preg_split(): Dzieli tekst na podstawie wzoru.

Użycie preg_match()

Funkcja preg_match() służy do sprawdzenia, czy dany wzór występuje w ciągu tekstowym.

<?php

$text = "Dzisiaj pogoda jest piękna.";

$pattern = '/piękna/';


if (preg_match($pattern, $text)) {

    echo "Słowo 'piękna' zostało znalezione w tekście!";

} else {

    echo "Słowo 'piękna' nie zostało znalezione w tekście.";

}

?>

Wynik:

Słowo 'piękna' zostało znalezione w tekście!

Kod weryfikuje, czy słowo piękna (określone przez $pattern) znajduje się w ciągu tekstowym $text. Następnie wyświetla odpowiedni komunikat.

Użycie preg_replace()

Funkcja preg_replace() umożliwia zastąpienie wystąpień wzoru w tekście, nowym ciągiem.

<?php

$text = "Jabłka są pyszne, a gruszki są smaczne.";

$pattern = '/jabłka/i';

$replacement = 'Owoce';


$new_text = preg_replace($pattern, $replacement, $text);

echo $new_text;

?>

Wynik:

Owoce są pyszne, a gruszki są smaczne.

W tym przykładzie słowo jabłka zostało zastąpione przez Owoce, co pokazuje, jak preg_replace() może modyfikować tekst.

Użycie preg_split()

Funkcja preg_split() dzieli ciąg tekstowy na podstawie wyrażenia regularnego.

<?php

$text = "kot, pies; ryba|ptak. królik";

$pattern = '/[;,|.]/';


$animals = preg_split($pattern, $text);

print_r($animals);

?>

Wynik:

Array

(

    [0] => kot

    [1] => pies

    [2] => ryba

    [3] => ptak

    [4] => królik

)

Kod ten dzieli ciąg na podstawie przecinków, średników, kresek pionowych i kropek, co skutkuje tablicą nazw poszczególnych zwierząt.

Modyfikacja Wzoru

Zwróć uwagę, jak określamy znaki, na podstawie których podzielimy tekst, w nawiasach kwadratowych ($pattern). Zobaczmy, co się stanie, gdy pozostawimy tylko znaki kropki (.) i przecinka (,):

<?php

$text = "kot, pies; ryba|ptak. królik";

$pattern = '/[,.]/';


$animals = preg_split($pattern, $text);

print_r($animals);

?>

Wynik:

Array

(

    [0] => kot

    [1] => pies; ryba|ptak

    [2] => królik

)

W tym przypadku ciąg tekstowy jest dzielony tylko po przecinkach i kropkach, a średniki i pionowe kreski pozostają nienaruszone.

Podsumowanie

Wyrażenia regularne to potężne narzędzie, które może znacznie ułatwić przetwarzanie danych w PHP.