Użycie funkcji preG_Match w PHP

Użycie funkcji preG_Match w PHP

Wyrażenie regularne to szczególny wzorzec, który można użyć do dopasowania, wyszukiwania i zastąpienia dowolnego konkretnego ciągu w danych tekstowych. Jest to potężna funkcja każdego języka programowania. Służy głównie do wykonywania różnych rodzajów sprawdzania poprawności formularzy, takich jak walidacja wiadomości e -mail, sprawdzanie formatu telefonu, sprawdzanie poprawności nazwy użytkownika i hasła formularza logowania itp. Każda konkretna zawartość tekstu może być wyszukiwana i zastąpiona za pomocą wzoru wyrażenia regularnego. Nazywa się to również Regex lub Regexp. Do definiowania wzoru wyrażenia wykorzystywane są różne typy symboli.

W PHP istnieje wiele wbudowanych funkcji dla wyrażenia regularnego. funkcja preg_match () jest jedną z nich. Ta funkcja służy do dopasowywania określonego wzorca w danych ciągu. W tym samouczku wyjaśniono, w jaki sposób funkcję preG_Match () można użyć w PHP.

Składnia:

Int lub false PreG_Match (String $ wzór, string $ temat [, array & $ matches = null [, int $ flags = 0 [, int $ offset = 0]]))

Ta funkcja może wziąć pięć argumentów. Pierwszy argument, $ wzór, jest obowiązkowe, co określa wzór dopasowywania. Drugi argument, $ Temat, jest obowiązkowe i zawiera dane ciągów, w których zostanie zastosowany wzorzec. Trzeci argument, $ mecze, jest opcjonalnie i zwraca tablicę na podstawie meczu. Czwarty argument, $ flagi, jest opcjonalnie, który zawiera różne typy wartości flagi na podstawie dopasowania. Piąty argument, $ offset, jest opcjonalnie i może być używany do zdefiniowania pozycji początkowej wyszukiwania.

Przykład 1: Dopasuj wzór w sposób wrażliwy

Poniższy przykład pokazuje użycie funkcji preg_match () do dopasowywania ciągu w sposób wrażliwy. Utwórz plik PHP z następującym skryptem.

Tutaj do zastosowania w trzech funkcjach preg_match () używane są trzy wzorce. Pierwszy wzór, '/Tak jak/', jest używany do dopasowywania ciągu w sposób wrażliwy. Drugi wzór, '/tak jak/', jest używany do dopasowywania ciągu w sposób wrażliwy. Trzeci wzór, 'Jak ja', jest używany do dopasowywania ciągów w sposób bezwrażliwy przypadki. Search_pattern () Funkcja jest zdefiniowana w skrypcie, aby używać funkcji preg_match () do dopasowywania i drukuje komunikat na podstawie zwróconej wartości tej funkcji.

// Zdefiniuj tekst
$ text = "lubię php. Lubię też JavaScript.";
// Zdefiniuj trzy rodzaje wzorów
$ wzór1 = '/jak/';
$ wzorzec2 = '/jak/';
$ wzór3 = '/like/i';
// Zdefiniuj funkcję wyszukiwania wzoru w tekście
funkcja Search_Pattern ($ wzór, $ string)

if (preG_Match ($ wzór, $ string))
Echo „Wynik wyszukiwania: Dopasowanie jest znalezione dla wzoru - $
";
w przeciwnym razie
Echo „Wynik wyszukiwania: Dopasowanie nie jest znalezione dla wzoru - $
";

// Wydrukuj oryginalny tekst
echo „Oryginalny tekst to: $ tekst
";
// Wywołaj funkcję trzykrotnie dla trzech wzorów
Search_pattern ($ wzór1, $ text);
Search_pattern ($ wzór2, $ text);
Search_pattern ($ wzór3, $ text);
?>

Wyjście:

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera. Pierwszy wiersz pokazuje tekst, w którym przeszukano wzory. Druga linia pokazuje wyjście pierwszego wzoru. Trzeci linia pokazuje wyjście drugiego wzoru. Czwarta linia pokazuje wyjście trzeciego wzoru.

Przykład 2: Sprawdzaj adres URL

Poniższy przykład pokazuje sposób weryfikacji adresu URL za pomocą funkcji preG_Match (). Utwórz plik PHP z następującym skryptem.

Wartość adresu URL jest przypisana w zmiennej $ URL do testowania. '@^(?: https: //)?([^/]+)@i 'ciąg jest używany jako wzór w funkcji preg_match (), aby sprawdzić, czy adres URL jest prawidłowy, czy nie. Jeśli jest poprawny, nazwa hosta i nazwa domeny zostaną wydrukowane, w przeciwnym razie komunikat o błędzie zostanie wydrukowany.

// Zdefiniuj adres URL
$ url = "https: // www.Linuxhint.com ";
// Zdefiniuj wzór walidacji adresu URL
$ wzór = '@^(?: https: //)?([^/]+)@i ';
// Sprawdź, czy adres URL jest ważny lub nie
if (preG_Match ($ wzór, $ url, $ matches1)))

// Wydrukuj komunikat sukcesu
echo „URL jest ważny.
";
// Wydrukuj tablicę zawierającą wartości dopasowania
echo „Wartości tablicy to:”;
print_r ($ matches1);
// odzyskaj i wydrukuj wartość hosta
$ host = $ matches1 [1];
Echo "
Nazwa hosta to: $ host ";
// przeszukaj nazwę domeny z wartości hosta
PreG_Match ('/[^.]+\.[^.]+$/', $ host, $ matches2);
Echo "
Nazwa domeny to: $ Matches2 [0] ";

w przeciwnym razie

// Wydrukuj komunikat o błędzie
echo „Nieprawidłowy adres URL.";

?>

Wyjście:

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera. Dostarczony adres URL w skrypcie jest prawidłowy. Tak więc wyjście pokazuje wartości $ meczów, nazwa hosta URL i nazwa domeny adresu URL.

Przykład 3: Wzór wyszukiwania z wartościami flag i przesunięcia

Poniższy przykład pokazuje zastosowania wartości flagi i przesunięcia w funkcji PreG_Match (). Utwórz plik PHP z następującym skryptem.

W skrypcie używane są trzy wzorce dla trzech rodzajów dopasowywania. W pierwszej funkcji preg_match (), '/(bangla) (desh)/' jest używany jako wzór i wartość flagi, używana jest preg_offset_capture. Wartości $ mecze Zmienna będzie drukowana na podstawie wyjścia pierwszej funkcji PreG_Match (). W drugiej funkcji preg_match (), '/(bangla) (Glad)*(desh)/i', jest używany jako wzór i wartość flagi, używany jest preg_unmatched_null. Jeśli jakakolwiek część wzoru nie pasuje, wówczas wartość zerowa zostanie przechowywana w tablicy. Wartości $ mecze Zmienna będzie drukowana na podstawie wyjścia drugiej funkcji PreG_Match (). W trzeciej funkcji preg_match (), '/glad/' jest używany jako wzór, wartość flagi, preg_offset_capture i 3 jest używane jako wartość przesunięcia. Wartości $ mecze Zmienna będzie drukowana na podstawie wyjścia trzeciej funkcji PreG_Match ().

// Zdefiniuj wartość tekstową
$ text = "Bangladesz";
// Zdefiniuj trzy rodzaje wzorów
$ wzór1 = '/(bangla) (DESH)/i';
$ wzrate2 = '/(bangla) (Glad)*(deh)/i';
$ wzór3 = '/glad/';
// za pomocą flagi preg_offset_capture
PreG_Match ($ wzór1, $ text, $ matches, preg_offset_capture);
Echo "
";
print_r ($ matches);
Echo "

";
// za pomocą flagi preg_unmatched_as_null
PreG_Match ($ wzór2, $ text, $ matches, preg_unmatched_as_null);
Echo "
";
print_r ($ matches);
Echo "

";
// za pomocą flagi preg_offset_capture i wartości przesunięcia
PreG_Match ($ wzór3, $ text, $ matches, preg_offset_capture, 3);
Echo "
";
print_r ($ matches);
Echo "
";
?>

Wyjście:

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera.

Wniosek

Zastosowania funkcji preg_match () zostały wyjaśnione w tym samouczku przy użyciu wielu przykładów. Wykazano tutaj również zastosowania różnych argumentów tej funkcji. Czytelnicy będą mogli poprawnie użyć tej funkcji w swoim skrypcie po przeczytaniu tego samouczka.