Wyrażenie regularne / Regex PHP: preg_match () - preg_replace ()

Spisie treści:

Anonim

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