Zend_Markup
wird aktuell mit BBCode Parser.
Die Parser von Zend_Markup
sind Klasse die Text mit Markup in
einen Token Baum konvertieren. Auch wenn wir hier den BBCode Parser als Beispiel
verwenden ist die Idee des Token Baums die gleiche bei allen Parsern. Wir beginnen mit
diesem Teil von BBCode als Beispiel:
[b]foo[i]bar[/i][/b]baz
Der BBCode Parser nimmt diesen Wert, teilt Ihn auf und erzeugt den folgenden Baum:
-
[b]
-
foo
-
[i]
-
bar
-
-
-
baz
Wie man sieht sind die schließenden Tags weg. Sie werden nicht als Inhalt der Baumstruktur angezeigt. Das ist deswegen der Fall, da schließende Tags kein Teil des aktuellen Inhalts sind. Das bedeutet aber nicht das die schließenden Tags einfach verloren sind. Sie sind in der Tag Information für das Tag selbst gespeichert. Es ist auch zu beachten das dies nur eine vereinfachte Darstelliung des Baumes selbst ist. Der aktuelle Baum enthält viel mehr Information, wie die Attribute der Tags und deren Namen.
Der BBCode Parser ist ein Zend_Markup
Parser der BBCode in einen
Token Baum konvertiert. Die Syntax alle BBCode Tags ist:
[name(=(value|"value"))( attribute=(value|"value"))*]
Einige Beispiel von gültigen BBCode Tags sind:
[b] [list=1] [code file=Zend/Markup.php] [url="http://framework.zend.com/" title="Zend Framework!"]
Standardmäßig werden alle Tags durch Verwendung des Formats '[/tagname]' geschlossen.