Comunidad de diseño web y desarrollo en internet online

Reemplazar cualquier URL

Citar            
MensajeEscrito el 04 Jun 2009 04:16 pm
Hola, tengo un problema, tengo un foro de discusión donde el usuario puede o introducir url en una caja de texto, el problema que tengo es que no se como hacerle para reemplazar cualquier cosa que parezca url, ejemplo,

si el usuario inserta algo asi "www.yahoo.com.mx" eso lo reemplazo con un ereg_replace de la siguiente manera:

$protocolo="(^| )(www([.]?[a-zA-Z0-9_/-])*)";
$liga="\\1<a href=\"//\\2\">\\2</a>";
ereg_replace($protocolo, $liga, $Texto)


pero el problema no es este, sino que no se como hacer para que el usuario al insertar "yahoo.com" sin el prefijo www. también lo convierta el problema es que puede ser cualquier dirección, ya intente hacer lo siguiente:

$protocolo="(^| )([a-zA-Z0-9_/-]([.]?[a-zA-Z0-9_/-])*)";
$liga="\\1<a href=\"//\\2\">\\2</a>";
ereg_replace($protocolo, $liga, $Texto)

Pero no mas no funciona,

espero alguién pueda ayudarme.... muchas gracias

Por lalochuy

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jun 2009 05:51 pm
agregalo tu mismo antes de hacer el ereg_replace verifica que tenga las 3w si no las tiene se las agregas antes de remplazar las cosas es una buena forma de hacerlo saludos

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 04 Jun 2009 06:29 pm

talcual escribió:

agregalo tu mismo antes de hacer el ereg_replace verifica que tenga las 3w si no las tiene se las agregas antes de remplazar las cosas es una buena forma de hacerlo saludos
Listo todo se soluciona con el siguiente código:

$protocolo = "([A-Za-z0-9]*\.?[A-Za-z0-9]*\.[A-Za-z0-9]{2,3}\.?[A-Za-z0-9/?=&;.]*)";
$liga="<a target=\"_balnk\" href=http://\\1>\\1</a>";
$Texto= ereg_replace($protocolo, $liga, $Texto);

De todos modos muchas gracias clabLevel

Por lalochuy

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Jun 2009 03:05 pm
tambien podrias hacerlo con htaccess:

Código :

RewriteEngine on
RewriteBase /
#redirecciona dominios sin www
RewriteCond %{HTTP_HOST} !^www\.* [NC] 
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Por chug0

Claber

136 de clabLevel



 

Perú

mozilla
Citar            
MensajeEscrito el 05 Jun 2009 08:39 pm
perdón, leí mal tu pregunta, mi post anterior no se aplica en este caso :D

Por chug0

Claber

136 de clabLevel



 

Perú

mozilla

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.