creare una " brutta parola ", lista che include tutte le parole che non si desidera visualizzare sullo schermo . Digitare ogni parola in un file di dati , una parola per riga . Decidi cosa vuoi sostituire ogni parola cattiva, per esempio " ***** " o " Leggi la " parolaccia " lista da disco e conservarla in una struttura di dati . Si potrebbe prendere in considerazione la creazione di un array e la memorizzazione di ogni " brutta parola ", come un elemento della matrice , come ad esempio : $ bad_word [ 0 ] = " thisbadword " ; $ bad_word [ 1 ] = " thatbadword " ; ; Mentre questo tipo di struttura funzionerà , è inefficiente perché si deve cercare l'intera serie di "cattive parole" per ogni parola che si controlla con l'elenco . Per un modo più fattibile di compiere questa operazione , creare una tabella hash . Progettare un array associativo e memorizzare ogni " brutta parola ", come la chiave dell'array . Assegnare nulla come valore , come ad esempio "1" o " vero". Per determinare se una parola è nella lista , è sufficiente fare riferimento alla chiave dell'array , piuttosto che cercare l'intero array . Per esempio : $ bad_words = array (); $ fp = fopen ( " badwordsfile.txt " , "r" ) or die ( "Impossibile aprire il file di male parole !") , Mentre ( $ parola = fgets ( $ fp ) ) { $ bad_words [ $ parola ] = 1; } recuperare il contenuto che si desidera filtrare . Il contenuto potrebbe essere user - presentato osservazioni da un modulo HTML , un documento su disco o anche una pagina Web da Internet . Conservare il contenuto di una singola variabile . Per esempio : $ to_do = file_get_contents ( " http://badmusiclyricswithprofanity.com " ) ; rottura il contenuto non filtrato in parole separando le parole presso gli spazi che li dividono . Utilizzare la funzione PHP " esploderà " per convertire la stringa non filtrato in un array di parole è possibile filtrare singolarmente . Per esempio : $ words_to_filter = explode ( " " , $ to_do ) ; scorrere la matrice di parole e controllare ogni parola contro l' array contenente la " parolaccia " lista . Se si seleziona la matrice , cercando di vedere se il valore della matrice è uno , si genererà un errore ogni volta che si tenta di accedere a una parola che non è nella lista, perché l'indice di campo non esiste. Invece , utilizzare la funzione " isset " per determinare se la parola è nella matrice . Se vi è una corrispondenza, sostituire la parola con la sostituzione prescelta . Per esempio : foreach ( $ words_to_filter da $ parola = > $ marchio ) {if ( isset ( $ bad_words [ $ parola ] ) ) { $ parola = $ sostituto ; } } Mettere il testo di nuovo in una singola variabile con la funzione " implode " - " . esplodere " il contrario di prende ogni valore dell'array e connettiti con personaggi si designa , nel nostro caso , si tratta di uno spazio. Echo risultati dei contenuti filtrati alla schermata . Ad esempio : ? $ Filtrato = implode ( " " , $ words_to_filter ) ; echo $ filtrata ; >
ottenere il contenuto su Filtro
estrarre le parole dal contenuto
Filtro parolacce
Rimontare il testo
Informazioni correlate
Programmazione © www.354353.com