Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvoriť zoznam " zlé slovo " , ktorý obsahuje všetky slová , ktoré nechcete zobrazovať na obrazovke . Zadajte každé slovo do dátového súboru , jedno slovo na riadok . Rozhodnite sa , čo by ste chceli nahradiť pre každé zlé slovo , napríklad " ***** " alebo " < Php $ náhradou = " ----- " ; Prečítajte si " zlé slovo " zoznam z disku a uložiť ich do dátovej štruktúry . Dalo by sa uvažovať o vytvorení poľa a uloženie každej " zlé slovo " ako prvok poľa , ako napríklad : $ bad_word [ 0 ] = " thisbadword " ; $ bad_word [ 1 ] = " thatbadword " ; Aj keď tento druh konštrukcie bude fungovať , je to neefektívne , pretože budete musieť hľadať celú radu zlých " slov " za každým slovom si skontrolovať proti zoznamu . Pre viac uskutočniteľný spôsob plnenia tejto úlohy , vytvoriť hash tabuľky . Navrhnite asociatívne pole a uloženie každej " zlé slovo " ako pole kľúča . Priradiť nič ako hodnotu , ako napríklad " 1 " alebo " pravdivý " . Ak chcete zistiť , či slovo v zozname , stačí jednoducho odkazovať na pole kľúč , skôr než hľadať celého poľa . Napríklad : $ bad_words = array ( ) ; $ fp = fopen ( " badwordsfile.txt " , "r " ) or die ( " ! Nemožno otvoriť sprosté slová , súbor " ) , zatiaľ čo ( $ slovo = fgets ( $ fp ) ) { $ bad_words [ $ word ] = 1 ; } Načítať obsah ktoré chcete filtrovať . Obsah môže byť užívateľ - predložil pripomienky z HTML formulára , dokumentu na disku , alebo dokonca aj webové stránky z Internetu . Uloženie obsahu v jednej premennej . Napríklad : $ to_do = file_get_contents ( " http://badmusiclyricswithprofanity.com " ) ; prestávka nefiltrovaného obsahu do slov oddelením slov na priestory , ktoré ich rozdeľujú . Použite funkciu PHP " explodovať " previesť nefiltrované reťazec do poľa slov môžete filtrovať individuálne . Napríklad : $ words_to_filter = explode ( " " , $ to_do ) ; iterácii cez pole slov a skontrolovať každé slovo proti poli, ktorý obsahuje " zlé slovo " zoznam . Ak zaškrtnete pole tým , že hľadá , či hodnota poľa je jeden , budete generovať chybu pri každom pokuse o prístup na slovo , ktorý nie je v zozname , pretože index pole neexistuje . Namiesto toho použite funkciu " isset " na určenie , či je slovo v poli . Ak je zápas , nahradiť slovo s vybraným substitúcia . Napríklad : foreach ( $ words_to_filter ako $ slovo = > $ značka ) { if ( isset ( $ bad_words [ $ word ] ) ) { $ slovo = $ náhradou ; } } vložte text späť do jednej premennej s funkciou " implózii " - naproti na " explodovať " . Trvá každú hodnotu poľa a spojiť ju s znaky , ktoré určí , v našom prípade je to priestor . Echo výsledky filtrovaných obsahu na obrazovke . Napríklad : ? $ Filtrovanie = implodujú ( " " , $ words_to_filter ) ; echo $ filtrovaný; >
Store Bad Zoznam Word v Array
Získajte obsah filtrovať
Výpis Slová z obsahu
Filter sprosté slová
Znovu Text