Estoy intentando un parser de BBcode. en realidad ya esta pero de una forma bastante rudimentaria, osea asi:
Código PHP:
function bbcode($texto)
{
$texto=nl2br($texto);
$texto=str_replace("[ b]","<b>",$texto);/*Obviamente sin espacion solo los puse asi para que el foro no lo reconociera como bbcode de el*/
/** Y asi con cada codigo */
return $texto;
}
asi:
Código PHP:
function bbcode($texto)
{
$code = array("[ b]","[ /b]");
$html = array("<b>","</b>");
$texto= preg_replace($code,$html,$texto);
return $texto;
}
echo bbcode("[ b]Hola[ /b] chao");
[]Hola[/] chao
luego quise hacerlo de la siguiente forma
Código PHP:
function bbcode($texto)
{
$code = array("/([)(b)(])(\r\n)*(.*)([/b])/siU",
"/([)(i)(])(\r\n)*(.*)([/i])/siU");
$html = array("<b>\5</b>",
"<i>\5</i>");
$texto=preg_replace($code, $html, $texto);
return $texto;
}
echo bbcode("[ b]Hola[ /b] chao");
Cita:
esa linea corresponde al preg_replace();[ b]Hola[ /b] chaoPHP Warning: Unknown modifier 'b' in C:\WINDOWS\TEMP\~scp.php on line 10 PHP Warning: Unknown modifier ']' in C:\WINDOWS\TEMP\~scp.php on line 10
Entonces la pregunta es:
Que y como puedo hacer para la funcion de bbcode para no hacerla tan engorrosa como la primera muestra, osea para hacer un bucle mas funcional?
De antemano gracias
Saludos
![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)