Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

ayuda con preg_replace

Estas en el tema de ayuda con preg_replace en el foro de Sistemas de gestión de contenidos en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/07/2010, 14:43
 
Fecha de Ingreso: junio-2010
Mensajes: 155
Antigüedad: 13 años, 10 meses
Puntos: 0
ayuda con preg_replace

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 ;)
  #2 (permalink)  
Antiguo 07/07/2010, 14:16
 
Fecha de Ingreso: junio-2010
Mensajes: 155
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: ayuda con preg_replace

ya está solucionado esto, en vez de /is' era /Usi'

no entiendo mucho esto pero asi funciona jaj

salu2

Etiquetas: phpbb
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:09.