Blok funkcji PREG_FILTER

Blok funkcji PREG_FILTER wyszukuje i zastępuje wyrażeniami regularnymi.

Uwaga: Ta funkcja jest bezpieczna dla binarnych danych. Oznacza to, że znaki UTF8 nie mogą być bezpośrednio przetwarzane.

Oprócz tego, że blok funkcji PREG_FILTER zwraca tylko w przypadku pasujących (możliwie przekształconych) łańcuchów znakowych, jest identyczny z bloku funkcji PREG_REPLACE.

Wejście PATTERN

Wyrażenie jako ciąg znakowy, którego szukamy. Dostępne są również niektóre modyfikatory PCRE.

Wejście REPLACEMENT

Ciąg znakowy do zastąpienia. Może on zawierać odniesienia w postaci \n lub $n, przy czym te drugie są preferowane. Każde z tych odniesień zostaje zastąpione tekstem, który został uchwycony przez n-te nawiasowe wzorzec wyszukiwania. n może mieć wartość od 0 do 99. \0 lub $0 odnoszą się do tekstu, który pasuje do całego wzorca wyszukiwania. Aby uzyskać numer częściowego wzorca wyszukiwania, nawiasy otwierające są liczone od 1, zaczynając od lewej strony. Aby użyć ukośnika odwrotnego w zastąpieniu, musi on być podwójny "\\".

Jeśli chcesz pracować z zastąpieniem, w którym bezpośrednio po odniesieniu następuje kolejna liczba (tj. bezpośrednio po pasowaniu wzorca wyszukiwania powinna pojawić się liczba), nie możesz użyć zapisu \1 dla swojego odniesienia. Na przykład \11 mogłoby zmylić funkcję, ponieważ nie wie, czy chcesz odniesienie \1 za którym następuje liczba 1, czy tylko odniesienie \11. W tym przypadku rozwiązaniem jest użycie ${1}1. Dzięki temu zostaje wygenerowane izolowane odniesienie $1 i 1 pozostaje symbolem literowym.

Jeśli używasz przestarzałego modyfikatora e, ta funkcja maskuje kilka znaków (tj. ', ", \ i NULL) w ciągach znakowych, którymi zastępuje się odniesienia. To jest robione, aby upewnić się, że nie powstają błędy składniowe, gdy używa się odniesień zawierających pojedyncze lub podwójne cudzysłowia. Upewnij się, że znasz składnię ciągów znakowych, aby wiedzieć, jak wygląda oceniany ciąg znakowy.

Wejście SUBJECT

Wejście definiuje ciąg znakowy do przeszukiwania.

Wejście LIMIT

Maksymalna możliwa liczba zastosowań dla każdego wzorca w każdym subject. Domyślna wartość: -1 lub NULL (brak limitu).

Wyjście Q

Jeśli znaleziono pasujące (możliwie przekształcone), zostanie zwrócony nowy ciąg znakowy Q, w przeciwnym razie zostanie zwrócony SUBJECT bez zmian lub NULL, jeśli wystąpił błąd.

Wyjście COUNT

Wyjście zwraca liczbę wykonanych zastosowań.