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

Bloquear cadena ("http://","www")

Estas en el tema de Bloquear cadena ("http://","www") en el foro de ASP Clásico en Foros del Web. Buenas tardes, Tengo un foro en el cual hay usuarios que en el mensaje además de exponer sus preguntas y respuestas también ponen direcciónes URL, ...
  #1 (permalink)  
Antiguo 17/01/2012, 11:07
 
Fecha de Ingreso: septiembre-2011
Mensajes: 116
Antigüedad: 12 años, 7 meses
Puntos: 8
Bloquear cadena ("http://","www")

Buenas tardes,

Tengo un foro en el cual hay usuarios que en el mensaje además de exponer sus preguntas y respuestas también ponen direcciónes URL, como puedo hacer un tratamiento de estas cadenas para detectar que tienen una URL y remplazarla por un texto que yo elija.

Ej:

Usuario escribe:

Hola que tal? miren esta página es muy bonita http://www.forosdelweb.com

Despues del tratamiento de la cadena se mostraria

Hola que tal? miren esta página es muy bonita [contenido bloqueado]


El problema que tengo es que al tratar la cadena con la funcion que tengo hago un replace de todo el texto y solo quiero remplazar la URL si la pasan.

Gracias en adelante.
  #2 (permalink)  
Antiguo 17/01/2012, 12:20
Avatar de phillipecw  
Fecha de Ingreso: septiembre-2008
Ubicación: Lima, Peru, Peru
Mensajes: 142
Antigüedad: 15 años, 7 meses
Puntos: 19
Respuesta: Bloquear cadena ("http://","www")

Para ello tendrías que utilizar la función "Left". Algo así:

Código ASP:
Ver original
  1. <%
  2. If (Left(URL, 7) = "http://") OR (Left(URL,4) = "www.") Then
  3.    ...
  4. End If
  5. %>

Más información al respecto: http://www.w3schools.com/vbscript/func_left.asp
__________________

Phillipe Calmet Williams
Freelance Front-End Developer, Graphic & Web Designer www.phillipecw.com
  #3 (permalink)  
Antiguo 18/01/2012, 07:17
 
Fecha de Ingreso: septiembre-2011
Mensajes: 116
Antigüedad: 12 años, 7 meses
Puntos: 8
Respuesta: Bloquear cadena ("http://","www")

Hola phillipecw,

Ante todo gracias por contestar, el metodo que me propones es la idea principal que yo tenia, pero como comente en el mensaje principal eso modifica todo el texto y no solo una cadena de un texto entero.
Cita:
Usuario escribe:

Hola que tal? miren esta página es muy bonita http://www.forosdelweb.com

Despues del tratamiento de la cadena se mostraria

Hola que tal? miren esta página es muy bonita [contenido bloqueado]

  #4 (permalink)  
Antiguo 19/01/2012, 04:17
 
Fecha de Ingreso: agosto-2011
Mensajes: 68
Antigüedad: 12 años, 8 meses
Puntos: 11
Respuesta: Bloquear cadena ("http://","www")

Esto que te pongo funciona:

Código ASP:
Ver original
  1. <%
  2.  
  3. Response.Write filtra_URL("Mi Web es http://www.miweb.com y mi web alternativa es www.miweb2.com. Tambien pueden visitar www.miweb3.com")
  4.  
  5.  
  6. Function filtra_URL(byval str)
  7. Dim comienzo, strurl
  8.  
  9. do While (instr(str,"http://")>0) or (instr(str,"www.")>0)
  10. strurl=""
  11. 'Calculamos la pos. del comienzo de la URL
  12. comienzo=instr(str,"http://")
  13.  if comienzo=0 then
  14.   comienzo=instr(str,"www.")
  15.  End if
  16.  
  17. 'Construimos la URL detectada
  18. Do while (mid(str, comienzo, 1)<>" ") and (comienzo<>len(str)+1)
  19. strurl=strurl+mid(str, comienzo, 1)
  20. comienzo=comienzo+1
  21. Loop
  22. 'y la reemplazamos en la cadena original
  23. str=replace(str,strurl,"[contenido bloqueado]")
  24. 'vamos a por la siguiente en caso que exista
  25. Loop
  26.  
  27. filtra_URL=str
  28.  
  29. End Function
  30.  
  31.  
  32. %>


El resultado del response.write llamando a la función Function filtra_URL produce:

Mi Web es [contenido bloqueado] y mi web alternativa es [contenido bloqueado] Tambien pueden visitar [contenido bloqueado]

Espero que te sirva.

Un saludo.

Última edición por dicuenca77; 19/01/2012 a las 05:08
  #5 (permalink)  
Antiguo 19/01/2012, 06:12
 
Fecha de Ingreso: septiembre-2011
Mensajes: 116
Antigüedad: 12 años, 7 meses
Puntos: 8
Respuesta: Bloquear cadena ("http://","www")

Hola dicuenca77,

Tu función es perfecta para lo que andaba buscando, si te he de ser sincero empeze a construirla yo mismo con un while y recorriendo las posiciones, etc.

Pero con tu aportación me he ahorrado ese trabajo.

Muchísimas gracias.

Así pues tema SOLUCIONADO!
  #6 (permalink)  
Antiguo 19/01/2012, 06:27
 
Fecha de Ingreso: agosto-2011
Mensajes: 68
Antigüedad: 12 años, 8 meses
Puntos: 11
Respuesta: Bloquear cadena ("http://","www")

Me alegro que te sirva!

Dio la casualidad que tenía que programar algo parecido a lo que necesitabas y ya lo hice yo en su día. Sólo te la adapté un poco.

Saludos!
  #7 (permalink)  
Antiguo 19/01/2012, 16:41
Avatar de phillipecw  
Fecha de Ingreso: septiembre-2008
Ubicación: Lima, Peru, Peru
Mensajes: 142
Antigüedad: 15 años, 7 meses
Puntos: 19
Respuesta: Bloquear cadena ("http://","www")

Gracias por compartir la función, dicuenca77.

Parece que leí mal la pregunta inicial, ya que lo que comenté anteriormente no servía de nada...
__________________

Phillipe Calmet Williams
Freelance Front-End Developer, Graphic & Web Designer www.phillipecw.com

Etiquetas: bloquear, cadenas
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 15:45.