TigerZF
🌐Español

46.3. Analizadores de Zend_Markup

Zend_Markup se distribuye actualmente con un analizador, un analizador de BBCode.

46.3.1. Teoría del análisis

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.

46.3.2. El analizador BBCode

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]'.