Cómo implementar códigos BB Code en tus aplicaciones web con PHP, para que tus usuarios puedan editar el estilo de los comentarios en post, foros, etc.
Si estás leyendo este texto posiblemente ya no necesites más explicaciones sobre lo que son los BBCode y quieras ver directamente cómo implementarlos en tus scripts PHP. No obstante, indicamos que en DesarrolloWeb.com hemos publicado una explicación detallada de los BBCode y tipos de formato que soportan.
En este artículo pretendemos explicar cómo implementar el soporte a BBCode en una página web, de una manera sencilla y muy depurada, a través de PEAR, un framework PHP muy conocido y ampliamente utilizado.
PEAR dispone una clase que sirve para implementar los BBCode en PHP sin apenas esfuerzo, ya que provee todo lo que necesitamos para procesar textos que tengan esta notación y convertirlos a HTML entendible por navegadores. La clase que nos estamos refiriendo está en el paquete HTML_BBCodeParser y su documentación se puede acceder en la URL: http://pear.php.net/package/HTML_BBCodeParser
Código PHP para implementar los BBCode
El primer paso sería incluir la librería o paquete para trabajar con BBCode de PEAR:
include ("PEAR/HTML/BBCodeParser.php");
El segundo paso sería instanciar un objeto de la clase que viene con el paquete HTML_BBCodeParser, que se llama con el mismo nombre del paquete:
$analizador_bbcode = new HTML_BBCodeParser();
Ahora tenemos un analizador o traductor de BBCode listo para funcionar.
Lo que necesitamos ahora es una variable con el texto a analizar y a traducir los BBCodes, por ejemplo podría ser lo siguiente:
$texto = "[b]negrita[/b] [i]cursiva[/i]";
Ahora tenemos que cargar ese texto y analizarlo, a través de distintos métodos del objeto de clase HTML_BBCodeParser, que habíamos instanciado antes:
$analizador_bbcode->setText($texto);
$analizador_bbcode->parse();
Por último, podemos utilizar otro método del objeto de clase HTML_BBCodeParser para extraer el texto analizado, donde los BBCodes han sido traducidos por sus correspondientes etiquetas HTML.
$texto_traducido = $analizador_bbcode->getParsed();
El código PHP completo se puede ver a continuación:
include ("PEAR/HTML/BBCodeParser.php");
$analizador_bbcode = new HTML_BBCodeParser();
$texto = "[b]negrita[/b] [i]cursiva[/i]";
$analizador_bbcode->setText($texto);
$analizador_bbcode->parse();
$texto_traducido = $analizador_bbcode->getParsed();
En el siguiente artículo de BBCodes con PEAR que vamos a publicar en desarrolloweb.com veremos la manera de mejorar un poco este código y tratar de personalizar un poco los tipos de códigos BB soportados.
Sólo un único detalle antes de acabar. Se trata de explicar un método que puede simplificar un poco este código: método qparse():
El código anterior podríamos reducirlo un poco con el método qparse (quick parse), que recibe directamente el texto a analizar y devuelve el texto con los BB Codes traducidos. Quedaría como sigue:
include ("PEAR/HTML/BBCodeParser.php");
$analizador_bbcode = new HTML_BBCodeParser();
$texto = "[b]negrita[/b] [i]cursiva[/i]";
$texto_traducido = $analizador_bbcode->qParse($texto);
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...