“Conocimientos Programación>Programación PHP /MySQL

Filtros mala palabra en PHP

2011/12/9
PHP es un lenguaje de programación que ayuda a proceso de entrada y crear una salida HTML para los usuarios, así que tiene sentido usarlo para crear una " mala palabra " filtro. El proceso de creación de una " mala palabra " filtro en PHP es bastante simple. Usted establece una "mala palabra" lista, separar el contenido que se filtra en palabras, comparar cada palabra en contra de la lista y eliminar o sustituir algo más para cada partido. La parte más difícil de la creación de una " mala palabra " filtro en PHP es elegir la estructura de datos correcta y el algoritmo para que el código se ejecuta lo más rápido y eficientemente como sea posible . Crear Palabra Mala Lista

Crear una " mala palabra ", lista que incluye a todas las palabras que no desea que aparezcan en la pantalla. Escriba cada palabra en un archivo de datos, una palabra por línea . Decida lo que desea sustituir por cada mala palabra , por ejemplo "*****" o " " o . " -------- " Lugar la sustitución en una variable que se utilizará más adelante al filtrar las malas palabras . Por ejemplo : ?

< Php $ sustituto = "----- " ;
tienda Malo lista de palabras en una matriz

Lea la " mala palabra " lista desde el disco y lo almacena en una estructura de datos . Usted podría considerar la creación de una matriz y almacenamiento de cada " mala palabra ", como un elemento de la matriz, como por ejemplo:

$ bad_word [ 0 ] = " thisbadword " ; $ bad_word [ 1 ] = " thatbadword " ; ;

Si bien este tipo de estructura va a funcionar , es ineficiente ya que hay que buscar en toda la gama de "malas palabras" para cada palabra de comprobar con la lista . Para una manera más factible de llevar a cabo esta tarea, crear una tabla hash. Diseñar una matriz asociativa y almacenar cada " mala palabra ", como clave del array . Asignar nada como el valor , como " 1 " o "verdadero ". Para determinar si una palabra está en la lista , sólo hay que hacer referencia a la clave de la matriz , en lugar de buscar en todo el conjunto . Por ejemplo :

$ bad_words = array (); $ fp = fopen ( " badwordsfile.txt " , "r" ) or die ("No se pudo abrir el archivo de palabras mal ! " ), Mientras que ($ palabra = fgets ($ fp ) ) {$ bad_words [$ palabra ] = 1 ;}
obtener el contenido a Filtro

Recuperar el contenido que desea filtrar . El contenido puede ser enviado por los usuarios los comentarios de un formulario HTML , un documento en el disco o incluso una página web de Internet. Guarde el contenido en una sola variable. Por ejemplo :

$ to_do = file_get_contents ( " http://badmusiclyricswithprofanity.com ");
Extracto Palabras del contenido

Vacaciones el contenido no filtrado en palabras , separando las palabras en los espacios que los separan . Utilice la función de PHP " explotar " para convertir la cadena no filtrado en una serie de palabras que se pueden filtrar de forma individual . Por ejemplo :

$ words_to_filter = explode ( " ", $ to_do ) ;
Filtro Palabras Bad

recorrer la matriz de palabras y comprobar cada palabra en contra de la matriz que contiene la "mala palabra" lista. Si marca la matriz examinado para ver si el valor de la matriz es uno , se generará un error cada vez que intente acceder a una palabra que no está en la lista, ya que el índice de matriz no existe. En su lugar , utilice la función " isset " para determinar si la palabra está en el array. Si hay una coincidencia , sustituir la palabra con la sustitución elegido . Por ejemplo :

foreach ($ words_to_filter como $ word = > $ marca) { if ( isset ($ bad_words [$ palabra ])) {$ word = $ sustituto ;} }

volver a montar el texto Fotos

Poner el texto de nuevo en una sola variable con la función de " implosión " - ". explotar " lo contrario de lo toma cada valor de la matriz y unirse con caracteres que usted designe , en nuestro caso , se trata de un espacio. Echo los resultados de los contenidos filtrados a la pantalla . Por ejemplo : ?

$ Filtra = implosión ("", $ words_to_filter ) ; echo $ filtrada ; >

Página siguiente:
Programación PHP /MySQL
Cómo construir una matriz de PHP
Cómo utilizar la cadena MySql tipos de datos más comunes
La diferencia entre los timbres de hora en PHP
¿Cómo hacer una inserción múltiple en PHP
Cómo convertir Variables PHP en Cuerdas
Cómo agregar un cuadro de texto dentro de una fila en PHP
Cómo quitar PHP De Mis Mensajes Joomla
Cómo asignar XML a una variable en PHP
Conocimientos Informáticos © http://www.ordenador.online