preg_match_all() to wbudowana funkcja w PHP używana do dopasowania określonego wzorca w łańcuchu. Możesz użyć tej funkcji do wykonywania dopasowań wyrażeń regularnych i wyodrębniania danych z łańcuchów. Może zaoszczędzić czas i wysiłek w przypadkach, gdy trzeba szukać wielu wystąpień wzorca i jest szeroko stosowany w aplikacjach PHP do analizowania tekstu i ekstrakcji danych.
Składnia
Poniżej przedstawiono składnię korzystania z preg_match_all w PHP:
preg_match_all ( wzór , wejście , mecze , flagi , zrównoważyć )
The preg_match_all akceptuje następujące parametry, trzy są parametrami obowiązkowymi, a dwa są opcjonalne:
- wzór : Jest to parametr obowiązkowy; zawiera wyrażenie regularne, które należy wyszukać.
- wejście : Drugi jest również obowiązkowym parametrem, ponieważ jest to ciąg, w którym przeprowadzane jest wyszukiwanie.
- mecze : Przechowuje dane wyjściowe w tablicy zawierającej wszystkie dopasowania.
- flagi : Opisuje strukturę tablicy wyszukiwania lub dopasowań. Modyfikuje zachowanie wyszukiwania funkcji. Można użyć następujących flag:
- zrównoważyć : Jest to opcjonalny parametr określający pozycję początkową wyszukiwania.
Flaga | Opis |
---|---|
PREG_PATTERN_ORDER | Wynikowa tablica zawiera wszystkie dopasowania tablicy dla każdego elementu wyrażenia regularnego. |
PREG_SET_ORDER | Każdy element tablicy dopasowań zawiera dopasowania z każdej grupy dla jednego ze znalezionych dopasowań ciągu. |
PREG_OFFSET_CAPTURE | Zwraca dopasowania z odpowiadającymi im pozycjami przesunięcia bajtów w ciągu podmiotu. |
PREG_UNMATCHED_AS_NULL | Niedopasowane wzorce będą zgłaszane jako NULL. |
Przykład 1
Rozważ następujący przykład użycia preg_match_all() funkcja w PHP. W tym kodzie szukamy słowa Linuks w ciągu. Ta funkcja wyświetla liczbę znalezionych dopasowań do słowa Linuks :
$string = „Witajcie entuzjaści Linuksa, witajcie w LinuxHint!” ;
$wzór = '/Linux/' ;
$dopasowania = szyk ( ) ;
preg_match_all ( $wzór , $string , $dopasowania ) ;
drukuj_r ( $dopasowania [ 0 ] ) ;
?>
Przykład 2
W tym przykładowym kodzie szukamy słowa E w łańcuchu. Małe i jest używane, aby wyszukiwanie nie uwzględniało wielkości liter. Zwróci wszystkie wystąpienia ciągu słowa E lub e:
$string = „WITAJCIE W USA”. ;
$patternRex = '/E/i' ;
Znaleziono $dopasowanie = preg_match_all ( $patternRex , $string , $dopasowania ) ;
Jeśli ( Znaleziono $dopasowanie ) {
Echo '
';
drukuj_r ( $dopasowania ) ;
}
?>
Przykład 3
Jeśli szukanego wzorca nie ma w łańcuchu, funkcja zwróci fałsz, co oznacza błąd. Aby sobie z tym poradzić, możesz użyć instrukcji if-else. Jeśli wzorzec nie zostanie znaleziony, możesz wydrukować komunikat za pomocą instrukcji else, aby poinformować użytkownika, że wzorzec nie został znaleziony.
$string = „PHP to popularny język skryptowy” ;
$patternRex = '/robić siku/' ;
Znaleziono $dopasowanie = preg_match_all ( $patternRex , $string , $dopasowania ) ;
Jeśli ( Znaleziono $dopasowanie ) {
Echo '
';
Echo 'Znaleziono dopasowanie.' ;
drukuj_r ( $dopasowania ) ;
} w przeciwnym razie {
Echo „Nie znaleziono dopasowania”. ;
}
?>
Notatka : tag w powyższym kodzie służy do formatowania danych wyjściowych.
Dolna linia
Wyrażenia regularne są potężnym narzędziem do wyszukiwania i manipulowania tekstem w PHP. The preg_match_all() function jest wbudowaną funkcją PHP, która jest używana do wykonywania dopasowania wyrażenia regularnego do łańcucha i pobierania wszystkich wystąpień wzorca, a jeśli wzorzec nie istnieje, zwróci fałsz. Zrozumienie preg_match_all() pomoże użytkownikom lepiej obsługiwać i przetwarzać dane tekstowe w PHP.