Foros del Web » Programando para Internet » Javascript »

ugente xfa

Estas en el tema de ugente xfa en el foro de Javascript en Foros del Web. Mi problema es el siguiente: tengo un formulario con dos textareas (uno para poner un titular y el otro para escribrir una noticia), y lo ...
  #1 (permalink)  
Antiguo 28/02/2003, 08:04
Avatar de T-Boz  
Fecha de Ingreso: febrero-2003
Ubicación: Perdida
Mensajes: 74
Antigüedad: 21 años, 2 meses
Puntos: 0
ugente xfa

Mi problema es el siguiente: tengo un formulario con dos textareas (uno para poner un titular y el otro para escribrir una noticia), y lo que yo quiero es que cuando alguien escriba una noticia y ponga algún link o dirección de correo ésta se detecte automaticamente (como en word), para que cuando la noticia haya sido enviada y se quiera leer, ese link esté activo. No se si me habré explicado bien.

Muchas gracias.
  #2 (permalink)  
Antiguo 28/02/2003, 08:09
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Lo más práctico es que al enviar se verifique el texto y si encuentra alguna dirección yá la altere y la mande a la base de datos yá con el código html modificado para crear ese hipervínculo.


Por que va a una base de datos no?

Puedes resolverlo tanto con javascript como con lenguaje del lado servidor.

Qué lenguaje de lado servidor estás usando??

de todas formas ahora miro de dejarte algún script que haga lo que buscas mediante javascript
  #3 (permalink)  
Antiguo 28/02/2003, 08:35
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Bueno, ahí te dejo una solución en javascript.

Con esto mandará a la base de datos el contenido del textarea yá modificado con el html para que se cree automáticamente el enlace.

Código PHP:
<html>
<
head>
<
title>Untitled Document</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
script language="Javascript">
function 
verificar(texto,donde)
{
pUrl = /^https?://[w.]+/
pUrl2 = /^[url]www.[/url][w]+.[w]+/
pMail = /^[w]+@[w]+.[w]+/
texto2 texto.split(/s/)
lar texto2.length
for(m=0;m<lar;m++)
    {
    if(
pUrl.test(texto2[m]))
        {
        
enlace '<a href="' texto2[m] + '">' texto2[m] + '</a>'
        
texto texto.replace(texto2[m],enlace)
        
donde.value texto
        
}
    if(
pUrl2.test(texto2[m]))
        {
        
enlace '<a href="http://' texto2[m] + '">' texto2[m] + '</a>'
        
texto texto.replace(texto2[m],enlace)
        
donde.value texto
        
}
    if(
pMail.test(texto2[m]))
        {
        
enlace '<a href="mailto:' texto2[m] + '">' texto2[m] + '</a>'
        
texto texto.replace(texto2[m],enlace)
        
donde.value texto
        
}
    }
}
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
  <textarea name="textfield" cols="50" rows="5" onBlur="verificar(this.value,this)"></textarea>
</form>
</body>
</html> 
  #4 (permalink)  
Antiguo 28/02/2003, 08:36
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Seguimos con el problema de que los foros omiten el caracter de escape.

Mira, te dejo un ejemplo colgado en el servidor. Saca el código fuente de ahí, porque el que te dejé arriba no te va a funcionar.

Tienes el ejemplo aqui

Yá me dirás si te sirvió. Si finalmente usas esta propuesta dímelo y muevo tu pregunta al foro de javascript.

Si prefieres finalmente resolverlo con algún lenguaje del lado servidor (que también podrías) díme qué lenguaje usarías para mover entonces tu pregunta a ese foro.

saludos

Última edición por tunait; 28/02/2003 a las 08:43
  #5 (permalink)  
Antiguo 03/03/2003, 08:49
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
OK, tal como me indicas que tu mp que usarás la solución en javascript paso la pregunta a ese foro.

Un saludo T-Boz
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 04:07.