
Blok funkce PREG_FILTER hledá a nahrazuje pomocí regulárních výrazů.
Poznámka: Tato funkce je Binary-Safe. To znamená, že znaky UTF8 nelze přímo upravovat.
Kromě toho, že blok funkce PREG_FILTER vrací řetězce (možná přeložené) pouze při shodách, je totožný s blokem funkce PREG_REPLACE.
Výraz jako řetězec, podle kterého se hledá. K dispozici jsou také některé modifikátory PCRE.
Řetězec pro nahrazení. Může obsahovat reference ve formátu \n nebo $n, přičemž tato poslední je preferována. Každá z těchto referencí je nahrazena textem, který byl zachycen n-tým vloženým vzorem hledání. n může mít hodnotu od 0 do 99. \0 nebo $0 se vztahují na text, který odpovídá celému vzoru hledání. Pro získání čísla zachyceného podvzoru se počítají otevřené závorky od 1 zleva doprava. Pro použití zpětné čárky v nahrazení musí být zdvojnásobena "\\".
Pokud chcete pracovat s nahrazením, kde na odkazování následuje přímo další číslo (tj. hned po shodě s vzorem hledání by mělo následovat číslo), nemůžete pro své odkazování použít zápis \1. Například \11 by zmatilo funkci, protože neví, jestli chcete odkazování \1 následované číslem 1, nebo jen odkazování \11. V tomto případě je řešením použití ${1}1. Tím se vytvoří izolované odkazování $1 a 1 zůstane znakem.
Pokud používáte zastaralý modifikátor e, tato funkce maskuje několik znaků (konkrétně ', ", \ a NULL) v řetězcích, kterými se nahrazují reference. To se dělá za účelem zajištění, aby nedošlo k chybám syntaxe při použití referencí obsahujících jednoduché nebo dvojité uvozovky. Ujistěte se, že znáte syntaxi řetězců, abyste přesně věděli, jak vypadá vyhodnocený řetězec.
Vstup definuje řetězec k prohledávání.
Maximální počet možných nahrazení pro každý vzor hledání v každém subjektu. Výchozí hodnota: -1 nebo NULL (žádné omezení).
Pokud byly nalezeny shody (možná přeložené), je nový řetězec Q vrácen, jinak je SUBJECT vrácen nezměněn nebo NULL, pokud došlo k chybě.
Výstup vrací počet provedených nahrazení.