elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Filtro de palbrotas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: Filtro de palbrotas  (Leído 10,353 veces)
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Filtro de palbrotas
« en: 15 Septiembre 2010, 17:11 pm »

como hago para hacer que cuando alguien ponga una palabrota en un sistema de comentario salga un error y que diga "Cuidado con tu lenguaje".

Quisiera saber cual es el codigo y que no use base de datos Mysql


 :rolleyes:


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #1 en: 15 Septiembre 2010, 18:04 pm »

No te gustan las bases de datos, ehh!
Se puede con un archivo *.txt?

Se debe de tener una especie de base de datos, porque no en todas partes esas "palabrotas" son grocerias, tan solo son palabras comunes.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #2 en: 15 Septiembre 2010, 18:39 pm »

No te gustan las bases de datos, ehh!
Se puede con un archivo *.txt?

Se debe de tener una especie de base de datos, porque no en todas partes esas "palabrotas" son grocerias, tan solo son palabras comunes.

si se puede con un archivo TXT.


Lo que pasa es que no se trabajar con base de datos Mysql y depaso no me funciona en miarroba
En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #3 en: 15 Septiembre 2010, 18:50 pm »

Entonces, podría ser algo como esto,
PoC.txt
Código
  1. function OpenFile(){
  2.    $sFilePath       = 'PoC.txt';
  3.    $sContentFile    = '';
  4.    $sFile           = file($sFilePath);
  5.  
  6.    foreach($sFile as $sLine){
  7.        $sContentFile .= $sLine;
  8.    }
  9.  
  10.    return $sContentFile;
  11. }
  12.  
  13.  
  14. function Asterisks($sWord){
  15.    $i             = 0;
  16.    $sSize         = strlen($sWord);
  17.    $sAsterisks    = '';
  18.  
  19.    for($i=0; $i<$sSize; $i++){
  20.        $sAsterisks .= '*';
  21.    }
  22.  
  23.    return $sAsterisks;
  24. }
  25.  
  26.  
  27. function SearchWord($sWord, $sText){
  28.    return str_replace($sWord, Asterisks($sWord), $sText);
  29. }
  30.  
  31.  
  32. function DeleteWord($sCadena){
  33.    $sExplode = explode(',', OpenFile());
  34.  
  35.    for($i=0; $i< sizeof($sExplode); $i++){
  36.        $sCadena = SearchWord($sExplode[$i], $sCadena);
  37.    }
  38.    return $sCadena;
  39. }
  40.  
  41.  
  42. $sCadena = 'Hola, como estas hijo de p**a, cabron, coño. Feliz día.';
  43. echo DeleteWord($sCadena);
Código
  1. put, cabro, coñ
Resultado:
Código
  1. Hola, como estas hijo de ***a,******n,****o. Feliz día.
« Última modificación: 15 Septiembre 2010, 18:53 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #4 en: 15 Septiembre 2010, 19:07 pm »

como hago para que funcione en mi pagina?, hago esto:

<?
@include("PoC.txt");
?>

Y para bloquear las palabras agrego esto:

$sCadena = 'perra';
$sCadena = 'marica';

En línea

neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Filtro de palabrotas
« Respuesta #5 en: 15 Septiembre 2010, 19:20 pm »

tengo este codigo que hice pero no se si esta bueno:

configuracion.php

Código:
<?

$FiltroGroserias = "SI";   // Activar filtro de malas palabras (SI / NO)

$alerta[1] = "Por favor, usa un lenguaje mas decente.";

// Palabras no permitidas

$palabrotas[] = "pinche";
$palabrotas[] = "pendejo";
$palabrotas[] = "puto";
$palabrotas[] = "marica";
$palabrotas[] = "chinga";
$palabrotas[] = "coño";
$palabrotas[] = "cabron";

?>




Código:
<?
// Filtro de malas palabras

if($FiltroGroserias == "SI") {
for($i = 0; $i < sizeof($palabrotas); $i++) {
if(ereg($palabrotas[$i], $nombre) OR ereg($palabrotas[$i], $email) OR ereg($palabrotas[$i], $mensaje)) {
$error[] = $alerta[1];
}
?>



Esta bien el codigo  :D
« Última modificación: 15 Septiembre 2010, 19:22 pm por neopuerta360 » En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #6 en: 15 Septiembre 2010, 19:47 pm »

De que puda estar bien el código, puede ser, solo que para ingresar nuevas palabras, debes de abrir los fuentes y agregarlos en el vector. Si usas el código que te deje, podes agregar cuantas palabras quieras, dentro del archivo de texto. Es más fácil.

PD: No entiendo el uso de los vectores de está forma.
Código
  1. $alerta[1] = "Por favor, usa un lenguaje mas decente.";
Igual, siempre contendra ese valor, y no hay más mensajes de alerta -por el momento-, así que podrías reemplazarlo con una variable.
« Última modificación: 15 Septiembre 2010, 20:15 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #7 en: 15 Septiembre 2010, 20:08 pm »

solo una sugerencia... en vez de usar "SI" y "NO" usa true/false que para eso existen :P

no se necesita ni comprobar con ==, basta esto:

Código
  1. if($FiltroGroserias)

ademas, cambia ereg por preg_match y preg_replace, su uso es obsoleto
En línea

Ojo por ojo, y el mundo acabará ciego.
neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #8 en: 15 Septiembre 2010, 20:31 pm »

Me podrian arreglar mejor el codigo que ise por favor :D.

Ustedes dicen asi

configuracion.php


Código:
<?
$alerta[1] = "No se acepta esta palabra [$palabrotas]";

// Palabras no permitidas

$palabrotas[] = "pinche";
$palabrotas[] = "pendejo";
$palabrotas[] = "puto";
$palabrotas[] = "marica";
$palabrotas[] = "chinga";
$palabrotas[] = "coño";
$palabrotas[] = "cabron";

?>



Código:

<?
// Filtro de malas palabras

if($FiltroGroserias) {
for($i = 0; $i < sizeof($palabrotas); $i++) {
if(preg_match($palabrotas[$i], $nombre) OR preg_match($palabrotas[$i], $email) OR preg_match($palabrotas[$i], $mensaje)) {
$error[] = $alerta[1];
}
?>


Asi esta mejor el godigo?
« Última modificación: 15 Septiembre 2010, 21:17 pm por neopuerta360 » En línea

neopuerta360

Desconectado Desconectado

Mensajes: 240


La mejor comunidad de neopets


Ver Perfil WWW
Re: Filtro de palbrotas
« Respuesta #9 en: 15 Septiembre 2010, 20:38 pm »

Lo que pasa es que yo no se mucho de php y otros lenguaje por que todavia no e hecho un curso,Y tambien por que mi computadora de daño y esta es un WINDOWS 98 de la AGENCIA por eso yo les hago muchas preguntas por que es una de las unicas paginas que me abre, entienden?

<b>Lo que quiero decir es que no puedo buscar guias en google como por ejemplo.</b>
En línea

Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines