Wprowadzenie do Preg w PHP

01 z 05

Funkcja Preg_Grep PHP

The PHP funkcjonować, preg_grip , służy do wyszukiwania an szyk dla określonych wzorców, a następnie zwróć nową tablicę na podstawie tego filtrowania. Wyniki można zwrócić na dwa sposoby. Możesz je zwrócić bez zmian lub odwrócić je (zamiast zwracać tylko to, co pasuje, zwróci tylko to, co nie pasuje). Jest sformułowany jako: preg_grep ( search_pattern, $twoja_tablica, Optional_inverse ) .Wzorzec_wyszukiwania musi być wyrażeniem regularnym. Jeśli nie jesteś z nimi zaznajomiony, ten artykuł zawiera przegląd składni.





Ten kod da w wyniku następujące dane:
Tablica ( [4] => 4 [5] => 5 )
Tablica ( [3] => trzy [6] => sześć [9] => dziewięć )

Najpierw przypisujemy naszą zmienną $data. To jest lista liczb, niektóre w formie alfa, inne w postaci numerycznej. Pierwszą rzeczą, którą uruchamiamy, jest $mod1. Tutaj szukamy wszystkiego, co zawiera 4, 5 lub 6. Gdy nasz wynik zostanie wydrukowany poniżej, otrzymamy tylko 4 i 5, ponieważ 6 zostało zapisane jako „sześć”, więc nie pasuje do naszego wyszukiwania.



Następnie uruchamiamy $mod2, który wyszukuje wszystko, co zawiera znak numeryczny. Ale tym razem uwzględniamy PREG_GREP_INVERT . To odwróci nasze dane, więc zamiast wyprowadzać liczby, wyświetla wszystkie nasze wpisy, które nie były numeryczne (trzy, sześć i dziewięć).

02 z 05

Funkcja Preg_Match PHP

The Preg_MatchFunkcja PHP służy do wyszukiwania a strunowy i zwróć 1 lub 0. Jeśli wyszukiwanie się powiodło, zostanie zwrócona 1, a jeśli nie zostanie znaleziona, zostanie zwrócone 0. Chociaż można dodać inne zmienne, najprościej jest to sformułować jako: preg_match(wyszukaj_wzorzec, twój_ciąg) . search_pattern musi być wyrażeniem regularnym.



Powyższy kod używa preg_match do sprawdzania słowa kluczowego (najpierw sok, potem jajko) i odpowiada na podstawie tego, czy jest ono prawdziwe (1) czy fałszywe (0). Ponieważ zwraca te dwie wartości, jest najczęściej używany w a instrukcja warunkowa .​

03 z 05

Preg_Match_All Funkcja PHP

Preg_Match_All służy do wyszukiwania ciągu w poszukiwaniu określonych wzorców i przechowuje wyniki w tablicy. w odróżnieniu preg_match który przestaje szukać po znalezieniu dopasowania, preg_match_all przeszukuje cały ciąg i rejestruje wszystkie dopasowania. Jest sformułowany jako: preg_match_all (wzór, łańcuch, $tablica, opcjonalne_zamawianie, opcjonalne_przesunięcie) .

W naszym pierwszym przykładzie używamy PREG_PATTERN_ORDER. Szukamy 2 rzeczy; jeden to czas, drugi to tag am/pm. Nasze wyniki są wyprowadzane do $match, jako tablica, w której $match[0] zawiera wszystkie dopasowania, $match[1] zawiera wszystkie dane pasujące do naszego pierwszego wyszukiwania podrzędnego (czas), a $match[2] zawiera wszystkie dane pasujące do naszego drugie wyszukiwanie podrzędne (am/pm).

W naszym drugim przykładzie używamy PREG_SET_ORDER. To umieszcza każdy pełny wynik w tablicy. Pierwszy wynik to $match[0], gdzie $match[0][0] to pełne dopasowanie, $match[0][1] to pierwsze dopasowanie podrzędne, a $match[0][2] to drugie podmecz.



04 z 05

Funkcja Preg_Replace PHP

The preg_replace Funkcja służy do wyszukiwania i zastępowania na łańcuchu lub tablicy. Możemy dać mu jedną rzecz do znalezienia i zastąpienia (na przykład wyszukuje słowo „on” i zmienia je na „jej”) lub możemy podać mu pełną listę rzeczy (tablicę) do wyszukania, każda z odpowiedni zamiennik. To jest sformułowane jako preg_replace ( search_for, replace_with, twoje_dane , opcjonalna_limit, opcjonalna_liczba ) Limit zostanie domyślnie ustawiony na -1, co oznacza brak limitu. Pamiętaj, że twoje_dane mogą być ciągiem lub tablicą.

W naszym pierwszym przykładzie po prostu zamieniamy „the” na „a”. Jak widać są one wrażliwe na przypadek. Następnie tworzymy tablicę, więc w naszym drugim przykładzie zastępujemy oba słowa „the” i „cat”. W naszym trzecim przykładzie ustawiliśmy limit na 1, więc każde słowo jest zastępowane tylko raz. Wreszcie, w naszym czwartym przykładzie, liczymy, ile dokonaliśmy wymiany.



05 z 05

Funkcja Preg_Split PHP

Funkcja Preg_Split służy do wzięcia łańcucha i umieszczenia go w tablicy. Łańcuch jest podzielony na różne wartości w tablicy na podstawie danych wejściowych. To jest sformułowane jako preg_split ( split_pattern, twoje_dane, opcjonalne_limity, opcjonalne_flagi )

W powyższym kodzie wykonujemy trzy podziały. W pierwszym dzielimy dane według każdego znaku. W drugim dzielimy go spacją, dając w ten sposób każdemu słowu (a nie każdej literze) wpis tablicy. A w naszym trzecim przykładzie używamy '.' okres, aby podzielić dane, nadając każdemu zdaniu osobny wpis w tablicy.



Ponieważ w naszym ostatnim przykładzie używamy '.' okres do podziału, nowy wpis rozpoczyna się po naszym ostatnim okresie, więc dodajemy flagę PREG_SPLIT_NO_EMPTY aby nie były zwracane puste wyniki. Inne dostępne flagi to PREG_SPLIT_DELIM_CAPTURE , który przechwytuje również znak, według którego dzielisz (na przykład nasze „.”) i PREG_SPLIT_OFFSET_CAPTURE, który przechwytuje przesunięcie w znakach, w którym nastąpił podział.

Pamiętaj, że split_pattern musi być wyrażeniem regularnym i że limit -1 (lub brak limitu) jest wartością domyślną, jeśli nie określono żadnego.