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