BBCode parser, v. 0.1
Auteur: Richard - 18 februari 2009 - 21:40 - Gekeurd door: Richard - Hits: 4697 - Aantal punten: 4.40 (5 stemmen)
Crosspost met phpfreakz.nl
De almachtige BBCode parser
Het is een vrij complex proces, dat parsen. Het is hier dan ook opgedeeld
in verschillende stappen:
* Lexing
* Parsing
* Rendering
Met andere woorden, het is opgedeeld in drie logische stappen die ieder een
proces behandelen.
Het lexen gebeurt op basis van de "Lexer"-interface, deze geef je mee
aan de "Parser". De "Lexer" deelt de input op in "Token"s, waar
de parser vervolgens doorheen gaat en een geneste lijst van "Node"s maakt.
Deze "Node"s kunnen hierna door "Node::__toString()" direct ge-output worden.
De snelheid valt reuze mee, wat het trager is dan simpele regex-parser, maakt het
geheel goed door vele malen flexibeler en betrouwbaarder te zijn. Het is niet mogelijk
om ongeldige uitvoer te krijgen, dat is de pracht ervan. ;)
Het gebruik is heel simpel, hiervan heb ik een redelijk uitgebreid voorbeeld bijgesloten.
Klaar alweer, we hebben direct output. :-)
Geluk met de parser!
P.S.: bugs? Meld ze, dan fix ik het zo snel mogelijk! Feedback is altijd welkom, net als complimenten en al het overige gedoe. :-)
|