Δημιουργήστε μια λίστα " κακή λέξη " που περιλαμβάνει όλες τις λέξεις που δεν θέλετε να εμφανίζονται στην οθόνη . Πληκτρολογήστε κάθε λέξη σε ένα αρχείο δεδομένων , μια λέξη ανά γραμμή . Αποφασίστε τι θέλετε να υποκαταστήσει κάθε κακή λέξη ? Για παράδειγμα " ***** " ή " Διαβάστε το " κακή λέξη " λίστα από το δίσκο και να το αποθηκεύσετε σε μια δομή δεδομένων . Θα μπορούσε να εξετάσει τη δημιουργία ενός πίνακα και την αποθήκευση κάθε « κακή λέξη » ως στοιχείο του πίνακα , όπως : $ bad_word [ 0 ] = " thisbadword " ? $ Bad_word [ 1 ] = " thatbadword " ? ? Ενώ αυτό το είδος της δομή θα λειτουργήσει , είναι αναποτελεσματική , γιατί θα πρέπει να αναζητήσετε έναν ολόκληρο πίνακα " κακές λέξεις " για κάθε λέξη που ελέγχει έναντι της λίστας. Για μια πιο εφικτό τρόπο για την εκπλήρωση αυτού του καθήκοντος , να δημιουργήσετε ένα πίνακα κατακερματισμού . Σχεδιάστε ένα associative array και να αποθηκεύουν κάθε " κακή λέξη " ως βασικού πίνακα. Εκχώρηση τίποτα ως αξία , όπως " 1 " ή " αλήθεια ". Για να καθοριστεί εάν μια λέξη είναι στη λίστα , θα πρέπει απλώς να αναφέρετε το βασικό πίνακα, αντί για αναζήτηση σε ολόκληρο το φάσμα . Για παράδειγμα : $ bad_words = array ( ) ? $ Fp = fopen ( " badwordsfile.txt " , " r" ) ή να πεθάνουν ( " ! Δεν θα μπορούσε να ανοίξει το αρχείο με τις κακές λέξεις ")? Ενώ ( $ λέξη = fgets ( $ fp ) ) { $ bad_words [ $ λέξη ] = 1 ? } ανάκτηση του περιεχομένου που θέλετε να φιλτράρετε . Το περιεχόμενο μπορεί να είναι τα σχόλια του χρήστη που υποβάλλονται από μια φόρμα HTML , ένα έγγραφο στο δίσκο ή ακόμη και μια ιστοσελίδα από το Internet . Αποθηκεύστε το περιεχόμενο σε μια μόνο μεταβλητή . Για παράδειγμα : $ to_do = file_get_contents ( " http://badmusiclyricswithprofanity.com ")? Break η αφιλτράριστη περιεχόμενο σε λέξεις με τον διαχωρισμό των λέξεων στους χώρους που τους χωρίζουν . Χρησιμοποιήστε τη λειτουργία PHP " εκραγεί " για να μετατρέψετε το αφιλτράριστο string σε μια σειρά από λέξεις που μπορούν να φιλτράρουν ξεχωριστά . Για παράδειγμα : $ words_to_filter = εκραγεί ( " " , $ to_do ) ? επαναλήψεις στη σειρά των λέξεων και να ελέγχει κάθε λέξη κατά του πίνακα που περιέχει την " κακή λέξη " λίστα . Εάν έχετε ελέγξει τον πίνακα με την εξέταση για να δούμε αν η τιμή του πίνακα είναι ένα, θα δημιουργήσει ένα λάθος κάθε φορά που προσπαθείτε να αποκτήσετε πρόσβαση σε μια λέξη που δεν υπάρχει στη λίστα , επειδή ο δείκτης array δεν υπάρχει . Αντ 'αυτού , χρησιμοποιήστε τη λειτουργία " isset " για να καθορίσει εάν η λέξη είναι στον πίνακα . Αν υπάρχει ένας αγώνας , να αντικαταστήσετε τη λέξη με την επιλεγμένη αντικατάσταση . Για παράδειγμα : foreach ( $ words_to_filter από $ λέξη = > $ σήμα) { εάν ( isset ( bad_words $ [ $ λέξη ] ) ) { $ λέξη = $ υποκατάστατο ? } } Βάλτε το κείμενο πίσω σε μια ενιαία μεταβλητή με το " implode " λειτουργία - το αντίθετο της «εκραγεί ». παίρνει κάθε τιμή πίνακα και να ενταχθούν σε αυτήν με χαρακτήρες που έχετε ορίσει ? στην περίπτωσή μας , είναι ένας χώρος . Echo τα αποτελέσματα των φιλτράρεται περιεχομένου στην οθόνη . Για παράδειγμα : $ φιλτράρεται = implode ( " " , $ words_to_filter ) ? Echo $ φιλτράρεται ? >
Η
Η Αποκτήστε το περιεχόμενο προς το φίλτρο
Η
Εικόνων Απόσπασμα λέξεις από το περιεχόμενο
Η
Εικόνων Φίλτρο Bad Words
Η
Η
Συναρμολογήστε ξανά το κείμενο
Η
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα