Użycie funkcji preg_match() w PHP

Use Preg_match Function Php



Wyrażenie regularne to określony wzorzec, którego można użyć do dopasowywania, wyszukiwania i zastępowania dowolnego określonego ciągu w danych tekstowych. Jest to potężna funkcja każdego języka programowania. Służy głównie do wykonywania różnych typów walidacji formularzy, takich jak walidacja poczty e-mail, sprawdzanie formatu telefonu, walidacja pól nazwy użytkownika i hasła w formularzu logowania itp. Dowolną konkretną treść tekstu można wyszukiwać i zastępować za pomocą wyrażenia regularnego wzór. Jest również nazywany regex lub RegExp. Do zdefiniowania wzorca wyrażeń regularnych używane są różne typy symboli.

W PHP istnieje wiele wbudowanych funkcji dla wyrażeń regularnych. Jednym z nich jest funkcja preg_match(). Ta funkcja służy do dopasowywania określonego wzorca w danych ciągu. Sposób użycia funkcji preg_match() w PHP do wykonywania różnych zadań jest wyjaśniony w tym samouczku.







Składnia:

Int lubfałszywe preg_match (strunowy$wzór,strunowy$temat [, szyk &$mecze = zero [,int$flagi = 0 [,int$przesunięcie = 0]]])

Ta funkcja może przyjmować pięć argumentów. Pierwszy argument, $wzór , jest obowiązkowy, który definiuje wzorzec dopasowania. Drugi argument, $temat , jest obowiązkowe i zawiera dane ciągu, w którym zostanie zastosowany wzorzec. Trzeci argument, $mecze , jest opcjonalny i zwraca tablicę opartą na dopasowaniu. Czwarty argument, $flagi , jest opcjonalny i zawiera różne typy wartości flag w zależności od dopasowania. Piąty argument, $przesunięcie , jest opcjonalny i może służyć do określenia początkowej pozycji wyszukiwania.



Przykład 1: Dopasuj wzorzec z uwzględnieniem wielkości liter i bez uwzględniania wielkości liter

Poniższy przykład ilustruje użycie funkcji preg_match() do dopasowywania ciągu znaków z uwzględnieniem wielkości liter i wielkości liter. Utwórz plik PHP za pomocą następującego skryptu.



Tutaj trzy wzorce są używane do zastosowania w trzech funkcjach preg_match(). Pierwszy wzór, '/Lubić/', służy do dopasowywania ciągu w sposób rozróżniający wielkość liter. Drugi wzór, '/lubić/' , służy do dopasowywania ciągu w sposób rozróżniający wielkość liter. Trzeci wzór, 'Jak ja' , służy do dopasowywania ciągu bez uwzględniania wielkości liter. wyszukiwanie_wzorzec() Funkcja jest zdefiniowana w skrypcie do używania funkcji preg_match() do dopasowywania i drukuje komunikat na podstawie zwróconej wartości tej funkcji.







//Zdefiniuj tekst

$tekst = „Lubię PHP. Lubię też JavaScript.';

//Zdefiniuj trzy rodzaje wzorców

$wzór1 = '/Lubić/';

$wzór2 = '/lubić/';

$wzór3 = '/Jak ja';

//Zdefiniuj funkcję wyszukiwania wzorca w tekście

funkcjonowaćsearch_pattern($wzór, $string)

{

Jeśli( preg_match ($wzór, $string))

wyrzucił 'Wynik wyszukiwania: Znaleziono dopasowanie dla wzorca -$wzór
'
;

w przeciwnym razie

wyrzucił 'Wynik wyszukiwania: Nie znaleziono dopasowania do wzorca -$wzór
'
;

}

//Wydrukuj oryginalny tekst

wyrzucił „Oryginalny tekst to: $tekst
'
;

//Wywołaj funkcję trzy razy dla trzech wzorców

search_pattern($wzór1, $tekst);

search_pattern($wzór2, $tekst);

search_pattern($wzór3, $tekst);

?>

Wyjście :

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera. Pierwsza linia pokazuje tekst, w którym wyszukiwane były wzorce. Druga linia pokazuje wyjście pierwszego wzoru. Trzecia linia pokazuje wyjście drugiego wzoru. Czwarta linia pokazuje wyjście trzeciego wzoru.



Przykład 2: Sprawdź poprawność adresu URL

Poniższy przykład pokazuje sposób sprawdzania poprawności adresu URL za pomocą funkcji preg_match(). Utwórz plik PHP za pomocą następującego skryptu.

Wartość adresu URL jest przypisywana w zmiennej $url do testowania. Ciąg „@^(?:https://)?([^/]+)@i” jest używany jako wzorzec w funkcji preg_match() do sprawdzenia, czy adres URL jest prawidłowy, czy nie. Jeśli jest prawidłowy, zostanie wydrukowana nazwa hosta i nazwa domeny, w przeciwnym razie zostanie wydrukowany komunikat o błędzie.



//Zdefiniuj adres URL

$url = „https://www.linuxhint.com”;

//Zdefiniuj wzorzec do sprawdzania poprawności adresu URL

$wzór ='@^(?:https://)?([^/]+)@i';

//Sprawdź, czy adres URL jest prawidłowy, czy nie

Jeśli( preg_match ($wzór, $url, $mecze1))

{

//Wydrukuj wiadomość o sukcesie

wyrzucił 'Adres URL jest prawidłowy.
'
;

//Wydrukuj tablicę zawierającą wartości dopasowania

wyrzucił 'Wartości tablicy to: ';

print_r ($mecze1);

//Pobierz i wydrukuj wartość hosta

$host = $mecze1[1];

wyrzucił '
Nazwa hosta to:$host'
;

//Wyszukaj nazwę domeny z wartości hosta

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $host, $mecze2);

wyrzucił '
Nazwa domeny to:{$matches2[0]}'
;

}

w przeciwnym razie

{

//Wydrukuj komunikat o błędzie

wyrzucił 'Nieprawidłowy URL.';

}

?>

Wyjście :

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera. Podany adres URL w skrypcie jest prawidłowy. Tak więc dane wyjściowe pokazują wartości dopasowania $, nazwę hosta adresu URL i nazwę domeny adresu URL.

Przykład 3: Wyszukiwanie wzorca z wartościami flagi i przesunięcia

Poniższy przykład pokazuje użycie wartości flag i offset w funkcji preg_match(). Utwórz plik PHP za pomocą następującego skryptu.

W skrypcie zastosowano trzy wzorce dla trzech typów dopasowania. W pierwszej funkcji preg_match() jako wzorzec używany jest „/(bangla)(desh)/”, a jako wartość flagi używana jest wartość PREG_OFFSET_CAPTURE. Wartości $mecze zmienna zostanie wydrukowana na podstawie wyniku pierwszej funkcji preg_match(). W drugiej funkcji preg_match() „/(bangla)(glad)*(desh)/i” jest używany jako wzorzec, a wartość flagi, PREG_UNMATCHED_AS_NULL. Jeśli jakakolwiek część wzorca nie pasuje, w tablicy zostanie zapisana wartość NULL. Wartości $mecze zmienna zostanie wydrukowana na podstawie wyniku drugiej funkcji preg_match(). W trzeciej funkcji preg_match() jako wzorzec używany jest „/glad/”, wartość flagi, PREG_OFFSET_CAPTURE, a 3 jako wartość przesunięcia. Wartości $mecze zmienna zostanie wydrukowana na podstawie wyniku trzeciej funkcji preg_match().



//Zdefiniuj wartość tekstową

$tekst = 'Bangladesz';

//Zdefiniuj trzy rodzaje wzorów

$wzór1 = '/ (bangla) (desz) / ja';

$wzór2 = '/ (bangla) (rad) * (desh) / ja';

$wzór3 = '/zadowolony/';


//Korzystanie z flagi PREG_OFFSET_CAPTURE

preg_match ($wzór1, $tekst, $mecze,PREG_OFFSET_CAPTURE);

wyrzucił '
';  

print_r ($matches);

echo '

'
;

//Korzystanie z flagi PREG_UNMATCHED_AS_NULL

preg_match ($wzór2, $tekst, $mecze,PREG_UNMATCHED_AS_NULL);

wyrzucił '
';  

print_r ($matches);

echo '

'
;

//Korzystanie z flagi PREG_OFFSET_CAPTURE i wartości przesunięcia

preg_match ($wzór3, $tekst, $mecze,PREG_OFFSET_CAPTURE, 3);

wyrzucił '
';  

print_r ($matches);

echo '
'
;

?>

Wyjście :

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera.

Wniosek

Użycie funkcji preg_match() zostało wyjaśnione w tym samouczku na wielu przykładach. Pokazano tu również zastosowania różnych argumentów tej funkcji. Czytelnicy będą mogli poprawnie używać tej funkcji w swoim skrypcie po przeczytaniu tego samouczka.