Foros del Web » Programando para Internet » PHP »

Ayuda con expresiones regulares...

Estas en el tema de Ayuda con expresiones regulares... en el foro de PHP en Foros del Web. Hola gente: Estoy modificando un script que tengo con el cual subo noticias, el tema es que yo lo hacia con código HTML directamente, y ...
  #1 (permalink)  
Antiguo 13/06/2005, 01:27
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Ayuda con expresiones regulares...

Hola gente:

Estoy modificando un script que tengo con el cual subo noticias, el tema es que yo lo hacia con código HTML directamente, y ahora, como quiero que algunos de mis usuarios también suban noticias, necesito pasarlo a algo "mas simple", por eso estoy haciendo algo similar a BBcode, el tema es que me trabe aca gracias a las expresiones regulares (que no tengo ni idea).

Lo que necesito hacer es que este texto:
Código:
[IMG pos="left" alt="texto de la imagen"]img/img.jpg[/IMG]
se transforme a:

Código:
<div align="left">
<table align="left"><tr><td>
<img src="img/img.jpg" alt="texto de la imagen">
</td></tr></table>
</div>
Bueno, como ven, necesito pasar los parámetros "pos" "alt" y la url de la imagen a formato HTML y realmente no entiendo nada de expresiones regulares...

Si alguien me ayuda se lo agradeceré eternamente...
__________________
I Love Programming...
  #2 (permalink)  
Antiguo 13/06/2005, 02:24
Avatar de kairocode  
Fecha de Ingreso: diciembre-2004
Mensajes: 20
Antigüedad: 13 años
Puntos: 0
pruba con esto a ver:

Código:
 $contenido = ereg_replace('\[IMG\ pos=(center|left|right|baseline)\ borde=([0-9])\ alt=([a-zA-Z0-9]+)]([a-zA-Z0-9/_.:~-]+\.(jpg|gif|png|jpeg))\[/IMG]','<img align="\\1" vspace="5" hspace="5" src="\\4" border="\\2" alt="\\3" />',$contenido);
  #3 (permalink)  
Antiguo 13/06/2005, 03:24
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
kirocode, realmente no me hace nada... me deja el texto tal cual lo envio (solo me agrega las barras (\" \") de las comillas...
__________________
I Love Programming...
  #4 (permalink)  
Antiguo 13/06/2005, 08:20
 
Fecha de Ingreso: mayo-2005
Mensajes: 201
Antigüedad: 12 años, 6 meses
Puntos: 2
Cita:
Iniciado por FuLaNo_
Hola gente:

Estoy modificando un script que tengo con el cual subo noticias, el tema es que yo lo hacia con código HTML directamente, y ahora, como quiero que algunos de mis usuarios también suban noticias, necesito pasarlo a algo "mas simple", por eso estoy haciendo algo similar a BBcode, el tema es que me trabe aca gracias a las expresiones regulares (que no tengo ni idea).

Lo que necesito hacer es que este texto:
Código:
[IMG pos="left" alt="texto de la imagen"]img/img.jpg[/IMG]
se transforme a:

Código:
<div align="left">
<table align="left"><tr><td>
<img src="img/img.jpg" alt="texto de la imagen">
</td></tr></table>
</div>
Bueno, como ven, necesito pasar los parámetros "pos" "alt" y la url de la imagen a formato HTML y realmente no entiendo nada de expresiones regulares...

Si alguien me ayuda se lo agradeceré eternamente...
Te recomendaria que perdieras un poco de tiempo leyendo el codigo de la clase PEAR::HTML_BBCodeParser que esta en los paquetes de las PEAR`s, que puedes consultar en la siguiente pagina http://pear.php.net/package/HTML_BBCodeParser con ella puedes hacer lo que estas necesitando y facilitarte la vida. e inclusive extender la clase para agregar tus propias etiquestas.
Para su uso puedes leer el siguiente articulo en http://www.sitepoint.com/print/bb-code-php-application que te sirve de referencia tambien par aimplementar la clase en tu aplicacion
Saludos.
  #5 (permalink)  
Antiguo 13/06/2005, 15:47
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Bueno, pude lograrlo gracias a un par de post viejos que habia en el foro, lo hice así:

Código PHP:
    $finaltext=preg_replace("`\[img\s*=\s*(.*)?align=\s*(.*)?\](.*?)\[/img\]`is"'<div align="$2"><table id="new_table_img" align="$2"><tr><td valign="top"><img src="$1" alt="$3" /></td></tr></table></div>'$finaltext); 
Saludos y gracias
__________________
I Love Programming...
  #6 (permalink)  
Antiguo 13/06/2005, 16:01
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
El unico problema ahora es que no puedo poner varias imagenes :(
__________________
I Love Programming...
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:51.