Foros del Web » Programando para Internet » PHP »

expresion regular..no se como hacerlo

Estas en el tema de expresion regular..no se como hacerlo en el foro de PHP en Foros del Web. Buenas! llevo cerca de 1 hora dando vueltas a como hacer una expresión regular... a ver si me pueden ayudar!! quiero que cuando un usuario ...
  #1 (permalink)  
Antiguo 05/02/2014, 07:03
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 14 años, 4 meses
Puntos: 8
expresion regular..no se como hacerlo

Buenas! llevo cerca de 1 hora dando vueltas a como hacer una expresión regular... a ver si me pueden ayudar!!

quiero que cuando un usuario ponga:

Código:
[ img ]http://www.rutaimagen.com/imagen.jpg[/ img ]
se sustituya por:

Código:
<img src='http://www.rutaimagen.com/imagen.jpg' alt='http://www.rutaimagen.com/imagen.jpg'/>
El siguiente código me funciona bien:

Código:
$buscar = array(
	"/\[img\](.*?)\[\/img\]/is"
	); 
	
$remplazar = array(
	"<img src='$1' alt='$1' />"
	);
	
    $texto = preg_replace ($buscar, $remplazar, $texto);
Lo que quiero hacer como mejora al code anterior, es hacer que la expresión regular pase si:
- empieza por "http"
- termina por ".jpg" ".gif" ".png"

Es decir.... seria formar:
1º: ^http (para indicar que empieze por http)
2º: . (el punto para indicar que puede venir cualquier caracter)
3º: .jpg$|.gif$|.png$ (para indicar que termine por .jpg, gif o png)

El problema es que no se como conformar lo anterior... he probado de 10000 formas diferentes pero nada de nada...
aca las ultimas..:
"/\[img\](^http(.*?)\[\/img\]/is"
"/\[img\](^http+(.*?)\[\/img\]/is"
"/\[img\]^http.*?)\[\/img\]/is"
"/\[img\](^http.[[:graph:]])\[\/img\]/is"

Gracias por su ayuda
__________________
Follow me on twitter @franbedia
  #2 (permalink)  
Antiguo 05/02/2014, 10:53
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 14 años, 4 meses
Puntos: 8
Respuesta: expresion regular..no se como hacerlo

Vuelvo a auto-responderme (no se que pasa hoy)

De momento pase del paso con esta expresion:

Código:
"/\[img\](http|https)(.*?)\.(jpg|png|gif|jpeg)\[\/img\]/is"
__________________
Follow me on twitter @franbedia

Etiquetas: expresion, hacerlo
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 12:21.