Foros del Web » Programando para Internet » Javascript »

Sustituir url por enlace en un mensaje

Estas en el tema de Sustituir url por enlace en un mensaje en el foro de Javascript en Foros del Web. Hola: Quería saber que tengo que hacer para que cuando alguien escribe una url en un mensaje, ésta se transforme en un enlace. Me imagino ...
  #1 (permalink)  
Antiguo 20/11/2011, 06:35
 
Fecha de Ingreso: septiembre-2009
Mensajes: 215
Antigüedad: 14 años, 7 meses
Puntos: 1
Sustituir url por enlace en un mensaje

Hola:

Quería saber que tengo que hacer para que cuando alguien escribe una url en un mensaje, ésta se transforme en un enlace.

Me imagino que necesito una expresión regular que coja por ejemplo www.laweb.es y lo cambie por <a href = "http://www.laweb.es">www.laweb.es</a>

¿Se hace así?¿Qué expresión regular debo utilizar?

Muchas gracias
  #2 (permalink)  
Antiguo 20/11/2011, 07:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Sustituir url por enlace en un mensaje

en realidad se hace del lado del servidor y la expresión regular es cualquier expresión que valide que la url es correcta (busca por los términos: regex validar url). después solo has de reemplazar la coincidencia
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 20/11/2011, 08:14
 
Fecha de Ingreso: septiembre-2009
Mensajes: 215
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Sustituir url por enlace en un mensaje

¿Pero que hay que comprobar cada palabra del mensaje con la regexp y si es una url sustituir?
  #4 (permalink)  
Antiguo 20/11/2011, 14:31
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Sustituir url por enlace en un mensaje

a ver si no
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 21/11/2011, 00:00
 
Fecha de Ingreso: noviembre-2011
Ubicación: medellin
Mensajes: 19
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: Sustituir url por enlace en un mensaje

Cita:
Iniciado por pinchu Ver Mensaje
Hola:

Quería saber que tengo que hacer para que cuando alguien escribe una url en un mensaje, ésta se transforme en un enlace.

Me imagino que necesito una expresión regular que coja por ejemplo [url]www.laweb.es[/url] y lo cambie por <a href = "http://www.laweb.es">www.laweb.es</a>

¿Se hace así?¿Qué expresión regular debo utilizar?

Muchas gracias
Crea una funcion en javascript la cual le diga al el campo de texto(url) que ingresaron, que la convierta en un link, con algo como

Código:
Function convertirurl()
{ 
url = textoqueingresaron
document.write("<a href =http://"+ url" +">"+ url"</a>");
}
  #6 (permalink)  
Antiguo 21/11/2011, 08:15
 
Fecha de Ingreso: septiembre-2009
Mensajes: 215
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Sustituir url por enlace en un mensaje

Vale ya he encontrado funciones que hacen lo que quiero.

Mi siguiente duda, ¿se guarda en la base de datos ya con el formato <a href = "">url</a>? o se guarda normal y cada vez que se muestre se añade el <a href = "">....

Lo digo porque si seguarda con todos los simbolos igual es problemático para la base de datos o para cargar la información con ajax y mostrarla en javascript.
  #7 (permalink)  
Antiguo 21/11/2011, 15:32
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Sustituir url por enlace en un mensaje

se guarda ya formateada
  • no hay ningún conflicto con la bd, ni ajax, ni javascript. siempre y cuando salves las comillas antes de insertar la cadena en la bd
  • le quitas trabajo al servidor o al cliente
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Etiquetas: enlace, mensaje, sustituir, url
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:53.