Foros del Web » Programando para Internet » PHP »

Como prohibo que escriban malas palabras

Estas en el tema de Como prohibo que escriban malas palabras en el foro de PHP en Foros del Web. Hola. Estoy haciendo un foro en php con una base de datos en mysql (es un proyecto) y ya casi esta terminado, lo que me ...
  #1 (permalink)  
Antiguo 02/05/2007, 13:22
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 17 años, 6 meses
Puntos: 0
Como prohibo que escriban malas palabras

Hola.

Estoy haciendo un foro en php con una base de datos en mysql (es un proyecto) y ya casi esta terminado, lo que me falta es validar las palabras que los usuarios escriben en sus mensajes y eliminar las malas palabras (grocerias, racistas, etc, etc, etc) como puedo hacer esto, la verdad no tengo idea.

Acepto sugerencias: si:

Gracias
  #2 (permalink)  
Antiguo 02/05/2007, 13:32
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Como prohibo que escriban malas palabras

debes trabajar con la funcion str_replace() en el cual debes hacer una cadena con las palabras que vas a omitir, ej.
Código PHP:
function quitar($mensaje){
$mensaje str_replace("groseria1","*****",$mensaje);
$mensaje str_replace("palabrota","*****",$mensaje);
return 
$mensaje;
    } 
claro esta, te tendrias que poner a escribir cada y una de las malas palabras que se te puedan ocurrir a ti, y las que no sepas tambien las incluyes jajaja pero eso es una forma... no se que otra tengas los chicos por aqui
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #3 (permalink)  
Antiguo 02/05/2007, 13:57
 
Fecha de Ingreso: noviembre-2004
Mensajes: 43
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Como prohibo que escriban malas palabras

Bueno asi mismo como dice el cirujano, una vez lo tenaia asi.. pero como quieran los usuario buscan la manera para hacerla con caracteres y numeros...
pero lo puedes hacer como dice.. ya siendo agregandolas a una tabla o teniendola en un vector. ( si la tienes en la tabla la puedes pasar a un vector)
Código PHP:
function quitar($mensaje){

$malas_palabras = array("Palabra1","Palabra2","etc","etc");

$mensaje str_replace("$malas_palabras","*****",$mensaje);

return 
$mensaje;


Saludos~
  #4 (permalink)  
Antiguo 02/05/2007, 14:47
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 17 años, 6 meses
Puntos: 0
ok

perdon por tanto molestar, pero, no he trabajadop con funciones en PHP ni una sola vez.

ERntiendo lo que dicen y la verdad creo que funcionara, pero lo que no entiendo es como "llamarla".

Como les dije es para un foro, y tengo un formulario con tres campos (titulo, creador y mensaje), "mensaje" es un textarea, y es ahi donde quiero eliminar las palabrotas.

Cuando se hace el llamado a la funcion??? Al momento de pulsar sobre "Grabar Respuesta" (un input type submit)??

Gracias por las sugerencias
  #5 (permalink)  
Antiguo 02/05/2007, 14:54
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 21 años
Puntos: 3
Re: Como prohibo que escriban malas palabras

no, el llamado se hace es cuando se leen los post o como se dice cuando se imprime en pantalla... la forma de hacerlo es asi:

Código PHP:
<? php echo quitar($row[campo-de-mensaje-a-limpiar]);?>
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #6 (permalink)  
Antiguo 02/05/2007, 18:12
 
Fecha de Ingreso: octubre-2006
Ubicación: Xoxocotla, Morelos Mexico
Mensajes: 243
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Como prohibo que escriban malas palabras

Gracias a los dos, ya quedo como deberia de quedar, utilice el codigo que puso wellimp solo que $malas_palabras va sin comillas dentro de la funcion str_replace.

Y tambien gracias a el cirujano, por que ahora ya se como manejar las funciones (bueno un poco).
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:06.