Ver Mensaje Individual
  #2 (permalink)  
Antiguo 21/03/2004, 14:39
Jordi1
 
Fecha de Ingreso: abril-2003
Mensajes: 656
Antigüedad: 21 años
Puntos: 1
esta funcion la saque de un motor de templates, la verdad no sabria decir de cual, osea que los creditos de la funcion son para el creador de ese motor,

La verdad es que va muy bien, solo tiene un pequño defecto que tiene de haber al menos un espacio delante del url a buscar, siempre me propongo a arreglarlo pero nunca encuentro el momento,

Espero que te sirva

Código PHP:
 function busca_url($_valor=''){

        
$pattern[0] = "#([\n ])([a-z]*)://([^, \n\r]+)#i"
        
$replacement[0] = "\\1<a href=\"\\2://\\3\" target=\"_blank\">\\2://\\3</a>"
        
$pattern[1] = "#([\n ])www\.([a-z0-9\-]+)\.([a-z0-9\-.\~]+)((?:/[^, \n\r]*)?)#i"
        
$replacement[1] = "\\1<a href=\"http://www.\\2.\\3\\4\" target=\"_blank\">[url]www.\\2.\\3\\4[/url]</a>"
        
$pattern[2] = "#([\n ])([a-z0-9\-_.]+?)@([^, \n\r]+)#i"
        
$replacement[2] = "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>"
        
$_remplazado preg_replace($pattern,$replacement,$_valor);
        return 
$_remplazado;
        

saludos