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

Filtrado de #$%! antes de grabar en bd.

Estas en el tema de Filtrado de #$%! antes de grabar en bd. en el foro de ASP Clásico en Foros del Web. Hola a to2, nececito hacer un filtrado de #%$"$# o malas palabras para un formulario, tengo los foros de snitz de donde pretendo sacar el ...
  #1 (permalink)  
Antiguo 31/01/2002, 09:16
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Filtrado de #$%! antes de grabar en bd.

Hola a to2,

nececito hacer un filtrado de #%$"$# o malas palabras para un formulario, tengo los foros de snitz de donde pretendo sacar el código, pero no se en qué parte estará, y quería pedirles que me orientaran un poco.

El filtrado de estos foros se produce antes de enviar el mensaje a la base de datos??

Gracias y salu2
  #2 (permalink)  
Antiguo 31/01/2002, 09:57
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Filtrado de #$%! antes de grabar en bd.

Hola Sir Matrix :)

Me imagino que se usa la funcion replace

Tomas el texto y antes de grabarlo lo haces pasar or un replace, comparando con las "palabras feas" que tienes almavcenadas en una base de datos.

Replace("t.onto", "****")
Replace("id.iota", "****")
etcétera

Suerte ;)
  #3 (permalink)  
Antiguo 31/01/2002, 10:24
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

Gracias Daniel, pero cómo hago para que valla revisando cada palabra del textarea?.

podrían decirme como se hace eso.

también estuve revisando el código de los foros de snitz y utlizan la siguiente función que no he podido hacer funcionar o no sé cómo llamarla:

--------------------
function ChkBadWords(fString)
strBadWords="ton.to|feo|cochino"
bwords = split(strBadWords, "|")
for i = 0 to ubound(bwords)
fString = Replace(fString, bwords(i), string(len(bwords(i)),"*"), 1,-1,1)
next
ChkBadWords = fString
end function

--------------------

de todas formas me parece más simple lo que dice DanielRey.

salu2
  #4 (permalink)  
Antiguo 31/01/2002, 11:51
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Filtrado de #$%! antes de grabar en bd.

Replace(expresión, buscar, reemplazarcon)

O sea
Replace(Todo_el_textarea,"mala palabra","cadena de reepmplazo")

Te reemplaza TODAS las ocurrencias de "mala palabra" en la frase.

Suerte ;)
  #5 (permalink)  
Antiguo 31/01/2002, 12:37
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

Me da el siguiente error:

--------
No se puede utilizar paréntesis al llamar a Sub

/mensaje.asp, line 21

Replace(textarea,"*****","*****&quo t;)

---------

Sabes porqué? gracias por tu ayuda.
  #6 (permalink)  
Antiguo 31/01/2002, 14:05
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Filtrado de #$%! antes de grabar en bd.

mmm, es una funcion.
Significa que devuelve un valor, y que debes hacer algo con el.

Descripción
Devuelve una cadena en la que una subcadena especificada se reemplazó por otra subcadena un número de veces especificado.
Sintaxis
variable = Replace(expresión, buscar, reemplazarcon[, inicio[, cuenta[, comparación]]])
  #7 (permalink)  
Antiguo 31/01/2002, 14:46
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

Gracias!

probé como dices y funciona muy bien. Me faltaba meter todo en una variable.

Una pregunta: Puedo agregar varias palabras de búsqueda en esa misma línea? algo asi como:

texto_corregido= Replace(textarea, "ton.to"|"feo"|"cochino&q uot;|"animal", "*****")

Aquí use el separador "|" pero no me funcionó. se puede hacer así o hay que colocar cada palabra en una nueva línea?


saludos y muchas gracias ;)
  #8 (permalink)  
Antiguo 31/01/2002, 14:50
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Filtrado de #$%! antes de grabar en bd.

mmm, si guardas las palabrotas en una base de datos, haces un loop.

Do while not RS.EOF
new_text = Replace(text, Rs("palabrota_id"), "*****")
RS.MoveNext
Loop

Funcionará?

Suerte ;)
  #9 (permalink)  
Antiguo 31/01/2002, 17:05
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

gracias de nuevo, voy a probar de esa manera a ver que tal me va y te cuento.

Saludos :)
  #10 (permalink)  
Antiguo 31/01/2002, 19:42
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Filtrado de #$%! antes de grabar en bd.

Hola, vaya mi aportación, quizá esta función la entiendan un poco mejor, es bastante sencilla:

Function NoFull(cCadena)
Dim i, cMal
cMal = Array("tarado", "botarate", "zafio", "cretino", "pintamonas")
For i = 0 To 4
cCadena = Replace(cCadena, cMal(i), String(Len(cMal(i)), "*"))
Next
NoFull = cCadena
End Function

Espero ayude, un saludo. ;)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #11 (permalink)  
Antiguo 01/02/2002, 06:37
Avatar de DanielRey
Usuario no validado
 
Fecha de Ingreso: enero-2001
Ubicación: Mendoza
Mensajes: 630
Antigüedad: 23 años, 4 meses
Puntos: 1
Re: Filtrado de #$%! antes de grabar en bd.

Hola Aston :)

Su aporte siempre es bienvenido y siempre es provechoso ;)

Gracias MAESTRO!

Además, a contribuido a ampliar mi léxico

zafio y pintamonas <img src='images/tongue.gif' width=15 height=15 align=middle>
JA, jamás las había oído.
  #12 (permalink)  
Antiguo 01/02/2002, 07:16
 
Fecha de Ingreso: agosto-2001
Mensajes: 336
Antigüedad: 22 años, 9 meses
Puntos: 0
Re: Filtrado de #$%! antes de grabar en bd.

Mea Pilas es tambien muy bueno :P
  #13 (permalink)  
Antiguo 01/02/2002, 10:25
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

Muchas gracias Aston ;) , voy a implementarlo.

Saludos
  #14 (permalink)  
Antiguo 01/02/2002, 12:07
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

Hola, probé el código y me funcionó bien, pero quería adaptarlo un poco.

-Cómo podría el array tomar los valores de una base de datos?

-Cómo pongo en el &quot;for i=0 to 4&quot; el número total de palabrotas en lugar de que sean 4.

Bueno, saludos y muchas gracias ;)

<embed width="259" height="80" src="http://www.artereal.com/firma.swf">
  #15 (permalink)  
Antiguo 01/02/2002, 12:37
Avatar de Aston  
Fecha de Ingreso: mayo-2001
Ubicación: Madrid
Mensajes: 933
Antigüedad: 23 años, 1 mes
Puntos: 0
Re: Filtrado de #$%! antes de grabar en bd.

Ja ja Gracias a ambos.

Sir Matrix, a tu pregunta:

For i = 0 To UBound(cMal)
'Esto dice que haga el bucle hasta el último elelmento de la matriz o vector
Next

Dime si te vale. :)

<a href="http://www.laventanita.net/" target="_blank">
<img src="http://www.breogan.org/images/Aston.gif" border="0" alt="La Ventanita.net - Lo imprescindible en la red"></a>
  #16 (permalink)  
Antiguo 13/02/2002, 12:15
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 8 meses
Puntos: 3
Re: Filtrado de #$%! antes de grabar en bd.

Muchas gracias Aston. :) .

Una última pregunta si es que saben: Cómo puedo almacenar estas malas palabras en un archivo de de texto (malas_palabras.txt).

Saludos y gracias.

pd: vengo llegando de unas vacaciones y por eso no había respondido. Salu2
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 00:46.