BBCode

BBCode, proveniente del inglés Bulletin Board Code, es un lenguaje de marcas ligero utilizado preferentemente en foros de discusión y correos electrónicos para embellecer la forma en que un mensaje o post es presentado.

Una alternativa es un filtro HTML correctamente escrito (muchos de los cuales están libremente disponibles).

Algunas variantes distinguen entre mayúsculas y minúsculas en los nombres de las etiquetas, mientras que otras no.

El parser analiza el texto introducido por el usuario antes de entregarlo al navegador con un formato adecuado para que este pueda interpretarlo.

Como regla general, el parsing se hace "one way", es decir, un mensaje en el foro se guarda en la base de datos del foro junto con el BBCode de manera estable, y cada vez que un navegador accede a ese post en particular, el parser del foro traduce el BBCode antes de presentárselo al navegador.

Un ejemplo de un parser muy básico escrito en PHP, sería: El lenguaje BBCode presenta elementos que pueden ser agrupados en cinco grandes categorías: Los siguientes marcadores sencillos pueden ser utilizados para modificar la apariencia del texto, la mayoría de estos marcadores proviene del HTML y su uso está ampliamente distribuido en diferentes versiones de BBCode:

Este último método aunque un poco más complicado, permite trabajar con una mayor variedad de colores, el único requisito es saber cómo generarlos.

Existen utilidades que se encargan de esto, por ejemplo, la extensión ColorZilla para el navegador Mozilla Firefox.

En muchos foros es posible modificar el tamaño de la imagen, utilizando los atributos width (ancho) y height (alto).

Como lenguaje derivado del HTML, uno de los elementos más poderosos con los que cuenta BBCode es el hipervínculo, en general representado por la etiqueta URL.

BBCode cuenta con dos tipos principales de estructuras ordenadas, las listas y las tablas.

Estas últimas no son universalmente aceptadas y sólo algunos sistemas de foros permiten trabajar con ellas.

Todas las estructuras ordenadas en BBCode son esencialmente similares a sus pares de HTML.

Generaría el siguiente resultado: La gestión de tablas en BBCode es muy similar a aquellas de HTML, y se hace por medio del elemento [table] [/table] el cual cuenta además con las etiquetas [tr] [/tr] que sirven para delimitar cada línea, y las etiquetas [td][/td] con las que se delimita cada celda.

Como consecuencia el código fuente permanece horizontal y verticalmente ordenado en diferentes líneas.

Mientras que el siguiente código: Mostraría un resultado similar a este: Título del Spoiler

Prácticamente no existen límites para las posibles combinaciones, sin embargo y para evitar resultados inesperados debidos a errores de parsing, siempre es conveniente cerrar las etiquetas exactamente en orden contrario a como fueron abiertas.