5. Filter
5.1 Filterarten
Die Klasse bietet zusätzlich zu den Parserfunktionen auch sogenannte Filter. Filter sind Funktionen, die genauso aufgebaut sein müssen, wie Parserfunktionen. Sie müssen also einen Text als einzigen Parameter akzeptieren und diesen Text dann wieder zurückgeben. Die Klasse kennt zwei Arten von Filtern:
- Prefilter
- Darunter verstehen sich Filter, die vor dem Parsen angewendet werden. Der komplette übergebene Text wird vor dem Parsen hintereinander durch alle Filter geschickt und wird dann erst geparst.
- Postfilter
- Darunter verstehen sich Filter, die nach dem Zurückführen des Baums in einen Text angewendet werden. Diese werden unmittelbar bevor der Text von der
parse
-Funktion zurückgegeben wird, angewendet.
5.2 Filter definieren
Filter definiert man ähnlich wie Parserfunktionen:
$bbcode->addFilter (STRINGPARSER_FILTER_PRE, 'meine_filter_funktion');
$bbcode->addFilter (STRINGPARSER_FILTER_POST, 'meine_zweite_filter_funktion');
Wichtig sind hierbei die Konstanten STRINGPARSER_FILTER_PRE
und STRINGPARSER_FILTER_POST
. STRINGPARSER_FILTER_PRE
sagt der addFilter
-Methode, dass es sich um einen Prefilter handelt, STRINGPARSER_FILTER_POST
, dass es sich um einen Postfilter handelt.
Genauso wie bei den Parserfunktionen können auch Methoden von Klassen als Filter definiert werden:
$bbcode->addFilter (STRINGPARSER_FILTER_PRE, array (&mein_object, 'meine_methode'));
- Weiter: 6. Flags zum Steuern des Verhaltens der Klasse
- Zurück: 4. Callback-Funktionen