Foros del Web » Programando para Internet » ASP Clásico »

Función que sustituya Http por enlace directo

Estas en el tema de Función que sustituya Http por enlace directo en el foro de ASP Clásico en Foros del Web. ¿Alguien sabe una función que reemplace si en un texto viene una URL tanto en formato Http://loquesea o www.loquesea por el link directo, Lo que ...
  #1 (permalink)  
Antiguo 08/06/2007, 06:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 6 meses
Puntos: 1
Función que sustituya Http por enlace directo

¿Alguien sabe una función que reemplace si en un texto viene una URL tanto en formato Http://loquesea o www.loquesea por el link directo, Lo que quiero es que si en un texto de un campo de una base de datos alguien pone una URL, en lugar de mostrarlo como texto plano, aparezca con formato de link.

Gracias a todos
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #2 (permalink)  
Antiguo 08/06/2007, 07:46
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Función que sustituya Http por enlace directo

NO te sirve replace?
  #3 (permalink)  
Antiguo 08/06/2007, 08:54
 
Fecha de Ingreso: noviembre-2003
Ubicación: Madrid
Mensajes: 353
Antigüedad: 20 años, 6 meses
Puntos: 1
Re: Función que sustituya Http por enlace directo

La pongo por si le sirve a alguien en el futuro:

<%
'----------------------------------------------
' URL pueden empezar con "www" o "http"
' o
' URL pueden ser emails "*@*"
'----------------------------------------------
Function InsertHyperlinks(inText)
Dim objRegExp, strBuf
Dim objMatches, objMatch
Dim Value, ReplaceValue, iStart, iEnd

strBuf = ""
iStart = 1
iEnd = 1
Set objRegExp = New RegExp

objRegExp.Pattern = "\b(www|http|\S+@)\S+\b" ' Match URLs and emails
objRegExp.IgnoreCase = True ' Set case insensitivity.
objRegExp.Global = True ' Set global applicability.
Set objMatches = objRegExp.Execute(inText)
For Each objMatch in objMatches
iEnd = objMatch.FirstIndex
strBuf = strBuf & Mid(inText, iStart, iEnd-iStart+1)
If InStr(1, objMatch.Value, "@") Then
strBuf = strBuf & GetHref(objMatch.Value, "EMAIL", "_BLANK")
Else
strBuf = strBuf & GetHref(objMatch.Value, "WEB", "_BLANK")
End If
iStart = iEnd+objMatch.Length+1
Next
strBuf = strBuf & Mid(inText, iStart)
InsertHyperlinks = strBuf
End Function


Function GetHref(url, urlType, Target)
Dim strBuf

strBuf = "<a href="""
If UCase(urlType) = "WEB" Then
If LCase(Left(url, 3)) = "www" Then
strBuf = "<a href=""http://" & url & """ Target=""" & _
Target & """>" & url & "</a>"
Else
strBuf = "<a href=""" & url & """ Target=""" & _
Target & """>" & url & "</a>"
End If
ElseIf UCase(urlType) = "EMAIL" Then
strBuf = "<a href=""mailto:" & url & """ Target=""" & _
Target & """>" & url & "</a>"
End If

GetHref = strBuf

End Function
%>
__________________
Lo menos frecuente en este mundo es vivir. La mayoría de la gente existe, eso es todo...
  #4 (permalink)  
Antiguo 08/06/2007, 09:26
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Re: Función que sustituya Http por enlace directo

Esto esta en las FAQ's?

por cierto, para regresar a tomar el tema tan tratado hace un buen tiempo.. cuando se hara una especie de directorio tematico de las faq's para que pueda ser un poco mas facil encontrar cosas en el como esta en casi todos los foros?
  #5 (permalink)  
Antiguo 08/06/2007, 12:08
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Re: Función que sustituya Http por enlace directo

Al verla creo recordar que dicha función esta en las FAQ's

Aquí esta comentada
  #6 (permalink)  
Antiguo 08/06/2007, 12:53
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Función que sustituya Http por enlace directo

Y hace match a una dirección segura? https

Ya vi que si...es que solo ve si comienza con http
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #7 (permalink)  
Antiguo 09/06/2007, 09:37
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 22 años, 5 meses
Puntos: 16
Re: Función que sustituya Http por enlace directo

si lo hace con las https? se podria agregar aqui no?
objRegExp.Pattern = "\b(www|http|\S+@)\S+\b" ' Match URLs and emails
  #8 (permalink)  
Antiguo 09/06/2007, 11:17
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Función que sustituya Http por enlace directo

Si, para refinarla un poco podrias agregar al patron https, pero veo que no es necesario, lo que pensé en primera instancia es que validaba http:// pero no es así.

Salud
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
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 19:42.