hola que tal, estoy armando un panelcito BBcode, encontré un código que está bastante completo a la hora de convertir a html, solo que tiene un pequeñisimo error, que como no tengo mucha experiencia en PHP no se como solucionarlo
el preg_replace me encuentra perfectamente los patrones y los reemplaza bien por las etiquetas de html, el problema es que cuando hay etiquetas repetidas, se toman la primera y la ultima y lo que queda en el medio no me convierte.
Les doy un ejemplo. si quiero usar negritas 3 veces seguidas pasa esto, y lo mismo para las demas etiquetas
pongo:
Código:
[ b ]esto es negrita[ /b ] esto no [ b ]esto tambien es negrita[ /b ] pero esto ya no lo es
y sale (pongo en mayusculas lo que sale en negrita):
Código:
esto es negrita[ /b ] esto no [ b ]esto tambien es negrita pero esto ya no lo es
y el codigo es este (pongo solo los de negrita y subrayado, pero a los otros le pasa lo mismo):
Código:
$bbcode [] = '/\[b\](.*)\[\/b\]/is';
$html [] = '<b>$1</b>';
$bbcode [] = '/\[u\](.*)\[\/u\]/is';
$html [] = '<u>$1</u>';
$cadena = $_POST['mytxtarea'];
$cadena = preg_replace ( $bbcode, $html, $cadena );
espero que sepan decirme donde está el error
muchas gracias ;)