11/05/2009, 04:33
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 9 meses Puntos: 300 | |
Respuesta: Seleccionar campo si contiene determinadas palabras Lo que yo haría:
una base de datos con la lista de palabras prohibidas o de sus raíces; piensa que pueden escribirlas en distinto género y número, y en el caso de los verbos con distintos tiempos, etc. Luego, ya con PHP crea una función y compara cada palabra del formulario (cargadas en un array) con todas las del array que te traes desde la base de datos o directamente con lo incluido en la base de datos. Pregunta en el foro PHP, y verás que te ayudan a preparar una función como esa. Piensa que lo que analiza es cada palabra, de la primera a la última de un texto (previamente cargadas en un array), y la compara con todas las de la lista de la base de datos con añadidos por delante y detrás (si se trata de raíces), y haces una sustitución de las mismas o bien bloqueas el texto (esto sería más rápido, pues al encontrar la primera envías el aviso y no sigues buscando; pero si quieres marcarlas y sustituirlas, tendrás que leer hasta el final. Es lo que se me ocurre.
El formulario no debe ser muy largo para evitar ralentizar la carga.
Pero esto es realmente programación (en tu caso, por lo que dices, PHP). Pregunta en el foro PHP, porque seguro que te orientan mejor.
Otra posibilidad: Cargas las palabras de determinado número de letras, más de tres, en un array y con ellas formas una cadena de búsqueda del tipo where campotabla IN ('palabra1','palabra2', 'palabra3', etc.) en la base; esta consulta te indicará si hay alguna palabra de esa lista. Con eso puedes bloquear, pero si quieres sustituir o marcar, tendrás que comparar cada palabra con todas las de la base, y eso es array con array.
Última edición por jurena; 11/05/2009 a las 06:30 |