Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> PHP /MySQL Programmering >> Content

    Fult ord Filter i PHP

    PHP är ett skriptspråk som hjälper dig processens insatsmaterial och skapa HTML- utdata för användarna , så det är klokt att använda den för att skapa ett " fult ord " filter . Processen att skapa ett " fult ord " filter i PHP är ganska enkel . Du upprätta ett " fult ord " listan , separera innehåll som ska filtreras i ord , jämför varje ord mot listan och ta bort eller ersätta något annat för varje match . Den mest utmanande delen av att skapa ett " fult ord " filter i PHP är att välja rätt datastruktur och algoritm så att din kod körs så snabbt och effektivt som möjligt . Skapar dåliga Word List

    Skapa ett " fult ord " lista som innehåller alla ord som du inte vill ska visas på skärmen . Skriv varje ord i en datafil , ett ord per rad . Bestäm vad du vill ersätta varje fult ord , till exempel " ***** " eller " " eller " . -------- " Placera substitution in en variabel som ska användas senare vid filtrering fula ord . Till exempel : ?

    < Php $ substitut = " ----- " , Addera Store Bad Word List i en Array

    Läs " fula ord " listan från disken och förvara den i en datastruktur . Du kan överväga att skapa en array och lagrar varje " fult ord " som ett element i arrayen , såsom :

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

    Även denna typ av struktur kommer att fungera , det är ineffektivt eftersom du måste söka hela samling av " fula ord " för varje ord du kontrollera mot listan . För en mer framkomlig väg för att utföra denna uppgift , skapa en hash-tabell . Designa en associativ array och lagra varje " fult ord " som arrayen tangenten . Tilldela något som värdet , t.ex. " 1 " eller " sant". För att avgöra om ett ord finns med i listan , behöver du bara referera arrayen nyckel , snarare än att söka hela arrayen . Till exempel :

    $ bad_words = array ( ) ; $ fp = fopen ( " badwordsfile.txt " , " r " ) or die ( " Kunde inte öppna dåliga ord filen ! " ) , Medan ( $ ord = fgets ( $ fp ) ) { $ bad_words [ $ word ] = 1 ; }
    få innehållet att filtrera

    Hämta innehållet som du vill filtrera . Innehållet kan vara användarvänlig in kommentarer från ett HTML- formulär , ett dokument på diskett eller ens en webbsida från Internet . Lagra innehållet i en enda variabel . Till exempel :

    $ to_do = file_get_contents ( " http://badmusiclyricswithprofanity.com " ) ;
    extrahera ord från innehållet

    Break den ofiltrerade innehåll i ord genom att separera ord på de utrymmen som skiljer dem åt . Använd PHP " explodera " -funktion för att konvertera den ofiltrerade sträng till en array av ord kan du filtrera individuellt . Till exempel :

    $ words_to_filter = explodera ( " " , $ to_do ) ,
    Filter fula ord

    iterera genom uppsättningen av ord och kontrollera varje ord mot arrayen innehåller " fula ord " lista . Om du kolla arrayen genom att titta för att se om arrayen värdet är en , kommer du att generera ett felmeddelande varje gång du försöker komma åt ett ord som inte finns i listan , eftersom fältindex inte existerar . Använd i stället " isset "-funktionen för att bestämma om ordet är i arrayen. Om det finns en match , ersätta ordet med den valda substitution . Till exempel :

    foreach ( $ words_to_filter som $ ord = > $ mark ) {if ( isset ( $ bad_words [ $ word ] ) ) { $ word = $ substitut ; } }

    ihop text

    Sätt tillbaka texten till en enda variabel med " imploderar " -funktionen - " . explodera " motsatsen till det tar varje array värde och ansluta den med tecken du anger , i vårt fall , det är en plats . Echo resultaten av de filtrerade innehållet på skärmen . Till exempel : ?

    $ Filtrerad = implodera ( " " , $ words_to_filter ) , echo $ filtrerad , > Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man skapar en kalender i PHP
    ·PHP Statiska funktioner
    ·Hur man skapar ett formulär tidningsprenumeration med …
    ·Hur man lär sig SQL-frågor
    ·MySQL Comma Error
    ·PHP är inte exekveras
    ·Hur man når en Explode Array på PHP
    ·Hur konvertera HTML till Text PHP
    ·Hur Markera Obligatoriska fält Med PHP
    ·Funktioner för MySQL med en PHP- variabel i Query
    Utvalda artiklarna
    ·Hur att hoppa ut ur ett tomrum funktion i C + +
    ·Så här kontrollerar du datumintervallet i COBOL
    ·Hur man skapar en Vista Sidebar Gadget
    ·PHP String Skillnader
    ·Hur man dödar en process med VB.net
    ·Hur man öppnar en port på Android
    ·Hur Center - Motivera String Produktionen inom Java
    ·Fördelar & Nackdelar med Bubble Sort
    ·Så här importerar klasserna i Java
    ·Konvertera RGB till gråskala i Java
    Copyright © Dator Kunskap http://www.dator.xyz