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:
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.
Cita de: Shell Root 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.
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
Entonces, podría ser algo como esto,
PoC.txt
function OpenFile(){
$sFilePath = 'PoC.txt';
$sContentFile = '';
$sFile = file($sFilePath);
foreach($sFile as $sLine){
$sContentFile .= $sLine;
}
return $sContentFile;
}
function Asterisks($sWord){
$i = 0;
$sSize = strlen($sWord);
$sAsterisks = '';
for($i=0; $i<$sSize; $i++){
$sAsterisks .= '*';
}
return $sAsterisks;
}
function SearchWord($sWord, $sText){
return str_replace($sWord, Asterisks($sWord), $sText);
}
function DeleteWord($sCadena){
$sExplode = explode(',', OpenFile());
for($i=0; $i< sizeof($sExplode); $i++){
$sCadena = SearchWord($sExplode[$i], $sCadena);
}
return $sCadena;
}
$sCadena = 'Hola, como estas hijo de p**a, cabron, coño. Feliz día.';
echo DeleteWord($sCadena);
put, cabro, coñ
Resultado:
Hola, como estas hijo de ***a,******n,****o. Feliz día.
como hago para que funcione en mi pagina?, hago esto:
<?
@include("PoC.txt");
?>
Y para bloquear las palabras agrego esto:
$sCadena = 'perra';
$sCadena = 'marica';
tengo este codigo que hice pero no se si esta bueno:
configuracion.php
<?
$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";
?>
<?
// 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
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.
$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.
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:
if($FiltroGroserias)
ademas, cambia ereg por preg_match y preg_replace, su uso es obsoleto
Me podrian arreglar mejor el codigo que ise por favor :D.
Ustedes dicen asi
configuracion.php
<?
$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";
?>
<?
// 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?
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>
Cita de: neopuerta360 en 15 Septiembre 2010, 20:31 PM[SNIP]
$FiltroGroserias = "true";
[SNIP]
Igual seguiria siendo una "string", ponedlo así,
$FiltroGroserias = false;
Y explicanos, para que esa variable?
Cita de: neopuerta360 en 15 Septiembre 2010, 20:38 PM...,Y tambien por que mi computadora de daño y esta es un WINDOWS 98 de la AGENCIA ...
FAIL!
Asi como lo modifique? :D
Seh, pero la cuestión es, por que usar esa variable?, es decir, para que la usas?. No entiendo su funcionamiento dentro del código.
Cita de: Shell Root en 15 Septiembre 2010, 21:06 PM
Seh, pero la cuestión es, por que usar esa variable?, es decir, para que la usas?. No entiendo su funcionamiento dentro del código.
Eso era si el usuario queria activar la funcion palabrotas.Ya que es un sistema de comentarios sin base de datos.
Pero ya le quite el codigo.
El source esta mal escrito, recuerda que estas usando expresiones regulares y no buscando una palabra dentro de un texto, este tiene su reglas aunque tu error se encuentra en que antes comenzar a escribir la Regexp, necesita comenzarlo con barra y al final igual.
Asi deberia de ir:
<?
$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/"';
?>
este seria el codigo:
configuracion.php
<?
$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/"';
?>
Luego donde recibira el comentario se pone el siguiente codigo, ejemplo: comentario-enviado.php:
<?
@include("configuracion.php");
?>
Y en la misma pagina se pone el siguiente codigo:
<?php
// Filtro de malas palabras
if($FiltroGroserias){ foreach($palabrotas as $palabrotas) { if(preg_match($palabrotas, $nick) OR preg_match($palabrotas, $email) OR preg_match($palabrotas, $mensaje))
{ $error[] = $alerta[1];
break;
}
}
} ?>
Asi deberia ir el codigo no!
asi esta mejor xD.
<?php
// Filtro de malas palabras
if($FiltroGroserias)
{
foreach($palabrotas as $palabrotas)
{
if(preg_match($palabrotas, $nick) OR preg_match($palabrotas, $email) OR preg_match($palabrotas, $mensaje))
{
$error[] = $alerta[1];
break;
}
}
}
?>
Trata de probar los códigos antes de preguntar.
A Hora el codigo si esta bueno?
otra pregunta para agregar textos e emoticones el codigo es asi:
BBcode.php
// BBcode
function Remplazar() {
global $mensaje;
$mensaje = str_replace("[:)]","<img src=\"ikon/sonrisa.gif\">", $mensaje);
$mensaje = str_replace("[b]","<b>",$mensaje) ;
$mensaje = str_replace("[/b]","</b>",$mensaje) ;
return;
}
Cual es elcodigo javascript para agregar los codigos ejemplo: [imagen]url de la imagen[/imagen]
CitarCual es elcodigo javascript para agregar los codigos ejemplo: [imagen]url de la imagen[/imagen]
Ps estudia javascript, no se te puede decir todo xD.
no sabes cual es el codigo?
Citarno sabes cual es el codigo?
Quieres que te pase un codigo¿?
Que estas haciendo aver? programando o en la búsqueda de códigos?
No pruebas lo que haces, no programas nada, solo veo que pides código... No me imagino como te harás para reparar vulnerabilidades xD.
Estoy haciendo un sistema de comentarios sin base de datos Mysql entiendes.
Y lo que pasa es que no puedo probar los codigos por que donde tengo el honstin no abre la pagina por que este es un WINDOWS 98 entiendes? lo que quiero decir es que es muy obsoleta, Todavia estoy esperando que la computadora me la compren por que la mia se daño con un virus y esta es una de la "AGENCIA DE LOTERIAS" sabes que es eso?
http://phpya.com.ar/simulador/simulador.php?cod=1
Para que pruebes tus sources...
neopuerta360 me parece bien que estés intentando aprender PHP haciendo un sistema de comentarios, pero te aconsejo que antes de empezar con proyectitos como el que estás haciendo intentes leer algún manual/tutorial/libro para aprender las caracteristicas básicas del lenguaje y tener unas bases sobre la que ir construyendo.
Además de eso, aprende a utilizar la API oficial de PHP, ahí vienen definidas todas las funciones nativas de PHP, con muchos ejemplos. Eso te evitará las preguntas constantes.
Sino puedes probar los ejemplos será mejor que te esperes a que te compren el nuevo ordenador, ya que en un windows 98 poco vas a poder hacer, y nosotros no estamos aquí para ir probando tus códigos a ver si funcionan o no funcionan.
Aprender a depurar aplicaciones es una característica importante en un programador. Así que te aconsejo que las pruebes tu mismo cuando te sea posible y vayas aprendiendo lo que significan los Warnings, Notices y demás fallos/errores.
Aprovecha este tiempo para leer más que para programar. Ánimo con el aprendizaje.
Entonces detengo la pagina que estoy haciendo.
Tu no me podrias dar un mini curso de php en linea todos los dias en tu blog. Ya que esa pagina la abre bien!
Cita de: neopuerta360 en 16 Septiembre 2010, 01:27 AMTu no me podrias dar un mini curso de php en linea todos los dias en tu blog. Ya que esa pagina la abre bien!
OMG!, es un sarcasmo verdad?
Jajajajajajaja, hombre, tengo seis horas al día de clase y cinco de trabajo. Así que más bien no.
Lo que puedes hacer es leer las entradas dedicadas a PHP, que aunque sea un curso introductorio está pensado para estudiarlo en pocos días y se centra más en lo que son las características del lenguaje de en lo que puedes hacer con él. Pero sirve perfectamente para tener unas bases.
Tambien puedes buscar en google, que seguro que encuentras libros y tutoriales mejor explicados. De todas formas cualquier duda la puedes preguntar en el foro.
OK Franki lo que pasa es que google no me abre y todas las paginas tampoco.Si me habrieran no les pidiera su ayuda. Pues lo que quiero decir es que cuando tengas tiempo publiques un mini curso en tu blog.
Cita de: Shell Root en 16 Septiembre 2010, 01:35 AM
Cita de: neopuerta360 en 16 Septiembre 2010, 01:27 AMTu no me podrias dar un mini curso de php en linea todos los dias en tu blog. Ya que esa pagina la abre bien!
OMG!, es un sarcasmo verdad?
No es un sarcasmo por que?
Ya tienes publicado algunas cosas que puedes ir leyendo, te pongo los enlaces directos a las entradas, si se considera SPAM, me avisais y los borro:
Introduccion (http://parasitovirtual.wordpress.com/2010/06/08/curso-php-introduccion/)
Variables y tipos de datos (http://parasitovirtual.wordpress.com/2010/06/08/curso-php-capitulo-1-variables-y-tipos-de-datos/)
Operadores (http://parasitovirtual.wordpress.com/2010/06/08/curso-php-capitulo-2-operadores/)
Estructuras de control (http://parasitovirtual.wordpress.com/2010/06/08/curso-php-capitulo-3-estructuras-de-control/)
Funciones (http://parasitovirtual.wordpress.com/2010/06/08/curso-php-capitulo-4-funciones/)
Cadenas y expresiones regulares (http://parasitovirtual.wordpress.com/2010/06/08/curso-php-capitulo-5-cadenas-y-expresiones-regulares/)
NOTA: En esta entrada las expresiones regulares utilizadas estan deprecadas.
Arrays (http://parasitovirtual.wordpress.com/2010/06/09/curso-php-capitulo-6-arrays/)
Formularios (http://parasitovirtual.wordpress.com/2010/06/09/curso-php-capitulo-7-formularios/)
Programacion orientada a objetos. Parte I (http://parasitovirtual.wordpress.com/2010/06/14/curso-php-capitulo-8-programacion-orientada-a-objetos/)
Programacion orientada a objetos. Parte II (http://parasitovirtual.wordpress.com/2010/06/15/curso-php-capitulo-8-programacion-orientada-a-objetos-iiii/)
Lectura y escritura de ficheros (http://parasitovirtual.wordpress.com/2010/06/15/curso-php-capitulo-9-lectura-y-escritura-de-ficheros/)
Subida y descarga de ficheros (http://parasitovirtual.wordpress.com/2010/06/15/curso-php-capitulo-10-subida-y-descarga-de-ficheros/)
Sesiones y cookies (http://parasitovirtual.wordpress.com/2010/06/16/curso-php-capitulo-11-sesiones-y-cookies/)
Interactuando con MySQL (http://parasitovirtual.wordpress.com/2010/07/02/curso-php-capitulo-12-interactuando-con-mysql/)
Control de excepciones (http://parasitovirtual.wordpress.com/2010/07/09/curso-php-capitulo-13-control-de-excepciones/)
De todas formas en www.php.net (http://www.php.net) tienes un manual mucho más completo.
Mira esta clase xD, así el source queda mas ordenado xD.
<?php
class filtro_palabras {
private $texto;
private $filtrar = array();
private $reemplazo;
private $result;
public function text($palabra)
{
$this->texto = $palabra;
}
public function filtro($filtrar)
{
$result = null;
$this->filtrar[] = $filtrar;
foreach($this->filtrar as $filtrarr)
{
$result .= $filtrarr."|";
}
$result = "[".$result."]";
$this->result = $result;
}
public function reemplazar($reemplazo)
{
$this->reemplazo = $reemplazo;
}
public function resultado()
{
$texto = preg_replace("/".$this->result."/i",$this->reemplazo,$this->texto);
return $texto;
}
}
?>
Uso:
<?php
include_once('filtro.php');
$filtro = new filtro_palabras;
$filtro->text('xD l xs 4 5asa78 as dxokjnae sl pke aojo');
$filtro->filtro('a');
$filtro->filtro('4');
$filtro->reemplazar('*');
echo $filtro->resultado();
?>
Salida:xD l xs * 5*s*78 *s dxokjn*e sl pke *ojo
Gracias por tu ayuda Franki, Ha franki para que sepas solo se me habren paginas que sean asi https:// no asi http://