Co to jest wyrażenie regularne w PHP?
Wyrażenia regularne PHP znane również jako regex to potężny algorytm dopasowywania wzorców, który można wykonać w pojedynczym wyrażeniu. Wyrażenia regularne używają operatorów arytmetycznych, takich jak (+, -, ^) do tworzenia złożonych wyrażeń. Mogą pomóc w wykonywaniu zadań, takich jak sprawdzanie poprawności adresów e-mail, adresów IP itp.
Po co używać wyrażeń regularnych
- Wyrażenia regularne PHP upraszczają identyfikację wzorców w danych łańcuchowych poprzez wywołanie pojedynczej funkcji. Oszczędza nam to czas na kodowanie.
- Podczas sprawdzania poprawności danych wprowadzonych przez użytkownika, takich jak adres e-mail, nazwy domen, numery telefonów, adresy IP,
- Podświetlanie słów kluczowych w wynikach wyszukiwania
- Podczas tworzenia niestandardowego szablonu HTML. Regex w PHP może służyć do identyfikowania tagów szablonu i zastępowania ich rzeczywistymi danymi.
W tym samouczku PHP Regex dowiesz się:
- Wbudowane funkcje wyrażeń regularnych w PHP
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Metaznaki wyrażeń regularnych
- Wyjaśnienie wzoru
Wbudowane funkcje wyrażeń regularnych w PHP
PHP ma wbudowane funkcje, które pozwalają nam pracować ze zwykłymi funkcjami, których nauczymy się w tym samouczku dotyczącym wyrażeń regularnych PHP. Przyjrzyjmy się często używanym funkcjom wyrażeń regularnych w PHP.
- preg_match () w PHP - ta funkcja służy do dopasowywania wzorca w PHP na łańcuchu. Zwraca wartość true, jeśli dopasowanie zostanie znalezione, lub false, jeśli dopasowanie nie zostanie znalezione.
- preg_split () w PHP - ta funkcja służy do dopasowania wzorca na łańcuchu, a następnie podzielenia wyników na tablicę numeryczną
- preg_replace () w PHP - ta funkcja służy do dopasowania wzorca w ciągu znaków, a następnie zastąpienia dopasowania określonym tekstem.
Poniżej znajduje się składnia funkcji wyrażeń regularnych, takich jak PHP preg_match (), PHP preg_split () lub PHP preg_replace ().
TUTAJ,
- „nazwa_funkcji (…)” to PHP preg_match (), PHP preg_split () lub PHP preg_replace ().
- „/… /” Ukośniki oznaczają początek i koniec funkcji testera wyrażeń regularnych PHP
- „'/ pattern /'” to wzorzec, który musimy dopasować
- „temat” to ciąg tekstowy, do którego ma zostać dopasowany
Spójrzmy teraz na praktyczne przykłady implementujące powyższe funkcje wyrażeń regularnych PHP.
PHP Preg_match ()
Pierwszy przykład wykorzystuje funkcję preg_match () w PHP do wykonania prostego dopasowania wzorca dla słowa guru w podanym adresie URL.
Poniższy kod przedstawia implementację funkcji testera preg_match () w powyższym przykładzie.
Przejdź do adresu URL http: //localhost/phptuts/preg_match_simple.php
Przyjrzyjmy się części kodu odpowiedzialnej za nasze wyjście „preg_match ('/ guru /', $ my_url)” TUTAJ,
- „preg_match (…)” to funkcja wyrażenia regularnego PHP
- „'/ guru /'” jest wzorcem wyrażenia regularnego do dopasowania
- „$ my_url” to zmienna zawierająca tekst do dopasowania.
Poniższy diagram podsumowuje powyższe punkty
PHP Preg_split ()
Spójrzmy teraz na inny przykład, który używa preg_split () w funkcji PHP.
Weźmiemy frazę łańcuchową i rozbijemy ją na tablicę; wzór do dopasowania to pojedyncza spacja.
Ciąg tekstowy, który ma być użyty w tym przykładzie, to „Uwielbiam wyrażenia regularne”.
Poniższy kod ilustruje implementację powyższego przykładu.
Przejdź do adresu URL http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
Przyjrzyjmy się teraz funkcji preg_replace () w PHP, która wykonuje dopasowanie do wzorca, a następnie zastępuje wzorzec czymś innym.
Poniższy kod wyszukuje słowo guru w ciągu znaków.
Zastępuje słowo guru słowem guru otoczonym kodem CSS, który podkreśla kolor tła.
Zakładając, że zapisałeś plik preg_replace.php, przeglądarka pod adresem URL http: //localhost/phptuts/preg_replace.php
Metaznaki wyrażeń regularnych
Powyższe przykłady wykorzystywały bardzo podstawowe wzorce; metaznaki po prostu pozwalają nam wykonywać bardziej złożone dopasowania wzorców, takie jak testowanie poprawności adresu e-mail. Przyjrzyjmy się teraz powszechnie używanym metaznakom.
Metacharacter | Opis | Przykład |
---|---|---|
. | Dopasowuje dowolny pojedynczy znak z wyjątkiem nowej linii | /./ dopasowuje wszystko, co ma jeden znak |
^ | Dopasowuje początek lub ciąg / wyklucza znaki | / PH / dopasowuje dowolny ciąg zaczynający się od PH |
$ | Dopasowuje wzorzec na końcu łańcucha | / com $ / pasuje do guru99.com, yahoo.com itd. |
* | Dopasowuje dowolne zero (0) lub więcej znaków | / com * / pasuje do komputera, komunikacji itp. |
+ | Wymaga, aby poprzedzające znaki pojawiły się co najmniej raz | / yah + oo / pasuje do yahoo |
\ | Używane do ucieczki przed metaznakami | /yahoo+\.com/ traktuje kropkę jako wartość dosłowną |
[…] | Klasa postaci | / [abc] / dopasowuje abc |
az | Dopasowuje małe litery | / az / pasuje fajnie, wesoło itp. |
AZ | Dopasowuje duże litery | / AZ / dopasowuje CO, JAK, DLACZEGO itp. |
0-9 | Dopasowuje dowolną liczbę od 0 do 9 | / 0-4 / pasuje do 0,1,2,3,4 |
Powyższa lista podaje tylko najczęściej używane metaznaki w wyrażeniach regularnych.
Przyjrzyjmy się teraz dość złożonemu przykładowi, który sprawdza ważność adresu e-mail.
Wyjaśnienie wzorca „[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/] "
TUTAJ,
- „'/… /'” Zaczyna i kończy wyrażenie regularne
- „[a-zA-Z0-9 ._-]” oznacza dowolne małe lub duże litery, cyfry od 0 do 9 oraz kropki, podkreślenia lub myślniki.
- „+ @ [a-zA-Z0-9-]” odpowiada symbolowi @, po którym następują małe lub duże litery, cyfry od 0 do 9 lub myślniki.
- „+ \. [a-zA-Z.] {2,5} $ /” zmienia znaczenie kropki przy użyciu ukośnika odwrotnego, a następnie dopasowuje dowolne małe lub duże litery o długości od 2 do 5 na końcu ciągu.
Przejdź do adresu URL http: //localhost/phptuts/preg_match.php
Jak widać z powyższego przykładu, metaznaki są bardzo potężne, jeśli chodzi o dopasowywanie wzorców.
Podsumowanie
- Wyrażenie regularne lub Regex w PHP to algorytm dopasowywania wzorców
- Wyrażenia regularne są bardzo przydatne podczas sprawdzania poprawności, tworzenia systemów szablonów HTML, które rozpoznają tagi itp.
- PHP ma wbudowane funkcje, a mianowicie PHP preg_match (), PHP preg_split () i PHP preg_replace (), które obsługują wyrażenia regularne.
- Metaznaki pozwalają nam tworzyć złożone wzory