Zend_Markup se distribuye actualmente con un analizador, un analizador de BBCode.
Los analizadores de Zend_Markup son clases que convierten texto con
marcado en un árbol de tokens. Aunque aquí usamos el analizador de BBCode como ejemplo, la
idea del árbol de tokens sigue siendo la misma en todos los analizadores. Comenzaremos con este
fragmento de BBCode como ejemplo:
[b]foo[i]bar[/i][/b]baz
Entonces el analizador de BBCode tomará ese valor, lo descompondrá y creará el siguiente árbol:
-
[b]
foo
-
[i]
bar
baz
Notará que las etiquetas de cierre desaparecen, no aparecen como contenido en la estructura del árbol. Esto se debe a que la etiqueta de cierre no forma parte del contenido real. Sin embargo, esto no significa que la etiqueta de cierre simplemente se pierda; se almacena dentro de la información de la etiqueta para la propia etiqueta. Además, tenga en cuenta que esta es solo una vista simplificada del árbol en sí. El árbol real contiene mucha más información, como los atributos de la etiqueta y su nombre.
El analizador de BBCode es un analizador de Zend_Markup que convierte BBCode en
un árbol de tokens. La sintaxis de todas las etiquetas de BBCode es:
[name(=(value|"value"))( attribute=(value|"value"))*]
Algunos ejemplos de etiquetas de BBCode válidas son:
[b] [list=1] [code file=Zend/Markup.php] [url="http://framework.zend.com/" title="Zend Framework!"]
De forma predeterminada, todas las etiquetas se cierran usando el formato '[/tagname]'.