
De functieblok PREG_FILTER zoekt en vervangt met reguliere expressies.
Opmerking: Deze functie is Binary-Safe. Dit betekent dat UTF8-tekens niet direct bewerkt kunnen worden.
Naast het feit dat de functieblok PREG_FILTER alleen bij overeenkomsten de (mogelijk omgezette) tekenreeksen teruggeeft, is hij identiek aan de functieblok PREG_REPLACE.
De expressie als tekenreeks, waarnaar wordt gezocht. Er staan ook enkele PCRE-modificatoren ter beschikking.
De tekenreeks om te vervangen. Deze mag verwijzingen in de vorm \n of $n bevatten, waarbij laatstgenoemde de voorkeur heeft. Elke van deze verwijzingen wordt vervangen door de tekst die is vastgelegd door het n-de in haakjes gesloten zoekpatroon. n kan een waarde hebben van 0 tot 99. \0 of $0 verwijzen naar de tekst die past op het volledige zoekpatroon. Om het nummer van het vastlegende deelzoekpatroon te verkrijgen, worden open haakjes geteld vanaf links naar rechts beginnend bij 1. Om een backslash in de vervanging te gebruiken, moet deze verdubbeld worden "\\".
Als u met een vervanging werkt waarin op een terugverwijzing direct een ander getal volgt (dat wil zeggen, dat na de overeenkomst met een zoekpatroon een getal moet komen), kunt u voor uw terugverwijzing niet de notatie \1 gebruiken. Zo zou bijvoorbeeld \11 de functie verwarrend zijn, omdat hij niet weet of u de terugverwijzing \1 gevolgd door het getal 1 wilt of alleen de terugverwijzing \11. In dit geval is de oplossing om ${1}1 te gebruiken. Hiermee wordt een geïsoleerde terugverwijzing $1 gegenereerd en blijft de 1 een letterteken.
Als u de verouderde modificator e gebruikt, maskeert deze functie enkele tekens (namelijk ', ", \ en NULL) in de tekenreeksen waarmee de terugverwijzingen worden vervangen. Dit wordt gedaan om ervoor te zorgen dat geen syntaxfouten ontstaan wanneer terugverwijzingen worden gebruikt die enkelvoudige of dubbele aanhalingstekens bevatten. Zorg ervoor dat u de tekenreeks-syntax kent om precies te weten hoe de geëvalueerde tekenreeks eruitziet.
De ingang definieert de tekenreeks om door te zoeken.
Het maximaal mogelijke aantal vervanging voor elk zoekpatroon in elke subject. Standaardwaarde: -1 of NULL (geen limiet).
Als overeenkomsten (mogelijk omgezette) zijn gevonden, wordt de nieuwe tekenreeks Q teruggegeven, anders wordt SUBJECT onveranderd teruggegeven of NULL, als er een fout is opgetreden.
De uitgang geeft het aantal uitgevoerde vervanging terug.