Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/03/2003, 18:08
Avatar de sci-fi
sci-fi
 
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
hola,

también podrías hacerlo con expresiones regulares, que no son fáciles para este caso pero te ahorrarían un poco de tiempo de execución (creo que sería más rápido que abrir un fichero .txt)... para utilizar las expr. reg., tienes las funciones ereg() y eregi()--- fijate en este foro hay como dos o tres mensajes acerca de eso con varios links para utilizar expresiones regulares, uno de ellos era www.ignside.net/man/php/regex.php, y hay un mensaje solamente dedicado a regexp en general que era éste.

o bien también podrías usar alguna función de cadena, buscas las palabras prohibidas en la variable que recoge el valor del campo, lo haces con stristr(), por ejemplo stristr($campo, $palabra_prohibida), o lo mismo con strstr(), nada más que esta última es case-sensitive (diferencia mayúsculas de minúsculas). stristr() retorna false si no encuentra la subcadena a buscar, por lo que si se da lo contrario, ahí tienes que encontraste una palabra prohibida y puedes enviarle un mensaje al usuario diciéndole que esa palabra no se permite, etc...

podrías crear un array con todas las palabras prohibidas, y crear un bucle donde se llame a una función stristr() para que recorra el campo con cada uno de los componentes del array. por ejemplo

Código PHP:
$prohibidas = array('palabra1''palabra2'etc);
for (
$r=0$r<sizeof($prohibidas); $r++) {
if (
stristr($campo_de_form$prohibidas[$r])) {
// se encontró una, codigo aqui para el caso
}

si no, utilizas ereg() y eregi() con expresiones regulares (tendrías que ver un poco de regexp para esto ya que no sería muy fácil...).

de lo contrario si utilizas un fichero .txt, tendrías que utilizar las funciones de directorios/archivos, como dir(), fopen(), etc, además de usar las de busqueda de cadenas

espero que sirva

saludos
__________________
webdeveloper
http://www.javascripters.com.ar/
diseño web y tecnología

Última edición por sci-fi; 10/03/2003 a las 18:18