Hola a todos, buenas tardes.
Veran, tengo una funcion que convierte toda url en una cadena a un enlace.
Esta es mi funcion:
Código PHP:
function convertir_URLs($str='') {
$str = " ".$str;
$str = eregi_replace('(((f|ht){1}tps?://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)','<a href="\\1" target="_blank" rel="nofollow">\\1</a>', $str);
$str = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)','\\1<a href="http://\\2" target="_blank" rel="nofollow">\\2</a>', $str);
$str = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4})','<a href="mailto:\\1" rel="nofollow">\\1</a>', $str);
return $str;
}
En realidad me funciona al 100% con todo tipo de url, pero, recientemente me veo en la necesidad de evitar convertir urls que esten dentro de un parametro de una etiqueta, por ejemplo:
Código HTML:
<img src="ESTA_URL" />
Por logica se daran cuenta que al usar la funcion cualquier etiqueta IMG o iframe que lleven una URL en su parametro va mostrar un error.
Entonces, como podria transformar todas las urls de la cadena a excepcion de las urls que se encuentren en parametros de etiquetas?
Muchas gracias de antemano.