Μερικές φορές, μπορεί να χρειαστεί να αφαιρέσετε ειδικούς χαρακτήρες από μια συμβολοσειρά για σκοπούς προγραμματισμού. Η PHP έχει πολλές ενσωματωμένες συναρτήσεις που μπορούν να χρησιμοποιηθούν για την αφαίρεση ειδικών χαρακτήρων από δεδομένα συμβολοσειράς. Αυτό το σεμινάριο σας δείχνει πώς να χρησιμοποιήσετε μερικούς διαφορετικούς τύπους ενσωματωμένων συναρτήσεων PHP για να αφαιρέσετε ειδικούς χαρακτήρες από μια συμβολοσειρά.
Η συνάρτηση str_replace ()
Μια χρήσιμη συνάρτηση που μπορεί να χρησιμοποιηθεί για την αφαίρεση ειδικών χαρακτήρων από μια συμβολοσειρά είναι η str_replace () λειτουργία. Η κενή συμβολοσειρά πρέπει να χρησιμοποιηθεί για να αντικαταστήσει τον χαρακτήρα αυτής της συνάρτησης για να αφαιρέσει τον καθορισμένο χαρακτήρα. Η σύνταξη αυτής της συνάρτησης δίνεται παρακάτω.
str_replace ($ search_str, $ install_str, $ main_str [,$ καταμέτρηση ])
ο str_replace () συνάρτηση μπορεί να πάρει τέσσερα ορίσματα. Τα τρία πρώτα ορίσματα είναι υποχρεωτικά και το τελευταίο όρισμα είναι προαιρετικό. ο $ search_str η μεταβλητή αποθηκεύει την τιμή που θα αναζητηθεί στη συμβολοσειρά. ο $ install_str η μεταβλητή αποθηκεύει την τιμή που θα αντικατασταθεί από τη συμβολοσειρά όπου ταιριάζει το κείμενο αναζήτησης. Πρέπει να χρησιμοποιήσετε μια κενή συμβολοσειρά ως τιμή του $ install_str μεταβλητή για να αφαιρέσετε το κείμενο αναζήτησης από την κύρια συμβολοσειρά. ο $ καταμέτρηση Το όρισμα αποθηκεύει μια τιμή που αντιπροσωπεύει πόσους χαρακτήρες αντικαθίστανται ή αφαιρούνται.
Παράδειγμα: Χρήση str_replace () για να αφαιρέσετε ειδικούς χαρακτήρες
Το παρακάτω σενάριο δείχνει τη χρήση του str_replace () λειτουργία για την αφαίρεση ενός ειδικού χαρακτήρα από μια συμβολοσειρά δεδομένων. Μια συνάρτηση καθορισμένη από το χρήστη δηλώνεται στο σενάριο για την εκτέλεση της εργασίας αντικατάστασης. ο hash (#), απλό απόσπασμα (‘) και ερωτηματικό (;) Οι χαρακτήρες χρησιμοποιούνται ως χαρακτήρες αναζήτησης, ενώ η κενή συμβολοσειρά χρησιμοποιείται ως κείμενο αντικατάστασης αυτών των χαρακτήρων.
/* Το παρακάτω σενάριο θα αφαιρέσει μερικά
χρησιμοποιώντας ειδικούς χαρακτήρες από μια συμβολοσειρά str_replace ()
λειτουργία
* /
// Ορίστε την κύρια συμβολοσειρά
$ mainstr = '#Αυτό είναι ένα απλό κείμενο.'?
// Η έξοδος πριν από την αφαίρεση
πέταξε έξω ' Κείμενο πριν την κατάργηση:
'Το$ mainstr?
// Καλέστε τη λειτουργία
$ installcestr =rm_special_char($ mainstr)?
// Ορίστε τη συνάρτηση για να αφαιρέσετε τον κενό χαρακτήρα
λειτουργίαrm_special_char($ str) {
// Κατάργηση '#', '' 'και'; ' χρησιμοποιώντας τη συνάρτηση str_replace ()
$ αποτέλεσμα = str_replace ( πίνακας ('#', '' '', ';'), '', $ str)?
// Η έξοδος μετά την αφαίρεση
πέταξε έξω '
Κείμενο μετά την αφαίρεση:
'Το$ αποτέλεσμα?
}
?>
Παραγωγή
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου που δόθηκε παραπάνω. Η τιμή του κύριου κειμένου εκτυπώνεται πριν την κλήση str_replace () και οι τρεις ειδικοί χαρακτήρες αφαιρούνται από το κύριο κείμενο και εκτυπώνονται αργότερα.
Η συνάρτηση preg_replace ()
ο preg_replace () η συνάρτηση χρησιμοποιείται για την αντικατάσταση δεδομένων συμβολοσειράς με βάση το μοτίβο αναζήτησης. Η σύνταξη αυτής της συνάρτησης δίνεται παρακάτω.
preg_replace ( μοτίβο $, $ αντικατάσταση, $ string [,όριο $ [,$ καταμέτρηση]] )Αυτή η συνάρτηση μπορεί να πάρει πέντε ορίσματα. Τα τρία πρώτα ορίσματα είναι υποχρεωτικά και τα δύο τελευταία επιχειρήματα είναι προαιρετικά. ο μοτίβο $ Το όρισμα χρησιμοποιείται για τον καθορισμό του μοτίβου για την αναζήτηση των χαρακτήρων σε μια συμβολοσειρά. ο $ αντικατάσταση Το όρισμα χρησιμοποιείται για τον ορισμό του κειμένου αντικατάστασης και το κείμενο αντικατάστασης θα είναι μια κενή συμβολοσειρά που χρησιμοποιείται για την αφαίρεση των ειδικών χαρακτήρων. ο $ string Το όρισμα χρησιμοποιείται για τον καθορισμό της κύριας συμβολοσειράς στην οποία θα αναζητηθεί και θα αντικατασταθεί το μοτίβο.
Παράδειγμα: Χρησιμοποιώντας το preg_replace () για την κατάργηση ειδικών χαρακτήρων
Το παρακάτω σενάριο δείχνει τη χρήση του preg_replace () λειτουργία για την αφαίρεση ενός συγκεκριμένου ειδικού χαρακτήρα από τα δεδομένα συμβολοσειράς. Το μοτίβο «[0-9/[0-9%$?]/S» χρησιμοποιείται στη λειτουργία για την αναζήτηση των χαρακτήρων. Αυτό θα αναζητήσει όλους τους χαρακτήρες '%', '$' και '?' Στα δεδομένα συμβολοσειράς και θα αντικαταστήσει αυτούς τους χαρακτήρες με την κενή συμβολοσειρά εάν υπάρχουν οι χαρακτήρες.
/* Το παρακάτω σενάριο θα αφαιρέσει μερικά
ειδικοί χαρακτήρες από μια συμβολοσειρά χρησιμοποιώντας το preg_replace ()
λειτουργία
* /
// Ορίστε την κύρια συμβολοσειρά
$ mainstr = '200 μου αρέσει$ phpπρογραμματισμός 50%;. »?
// Η έξοδος πριν από την αφαίρεση
πέταξε έξω ' Κείμενο πριν την κατάργηση:
'Το$ mainstr?
// Καλέστε τη λειτουργία
$ installcestr =rm_special_char($ mainstr)?
// Ορίστε τη συνάρτηση για να αφαιρέσετε τον κενό χαρακτήρα
λειτουργίαrm_special_char($ str) {
// Κατάργηση '#', '' 'και'; ' χρησιμοποιώντας τη συνάρτηση str_replace ()
$ αποτέλεσμα = preg_replace ('/[0-9%$?]/S','', $ str)?
// Η έξοδος μετά την αφαίρεση
πέταξε έξω '
Κείμενο μετά την αφαίρεση:
'Το$ αποτέλεσμα?
}
?>
Παραγωγή
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Η τιμή του κύριου κειμένου θα εκτυπωθεί πριν την κλήση preg_replace () λειτουργία. ο 200, 50, '%' και ';' οι χαρακτήρες θα αφαιρεθούν από το κύριο κείμενο και θα εκτυπωθούν αργότερα.
ο htmlspecialchars () και str_ireplace () Λειτουργίες
ο htmlspecialchars () και str_ireplace () Οι συναρτήσεις χρησιμοποιούνται για τη μετατροπή όλων των προκαθορισμένων χαρακτήρων σε HTML. Για παράδειγμα, ' < 'Θα μετατραπεί σε' & lt , '' & 'Θα μετατραπεί σε' &αμπέραζ , »Κ.λπ. Μπορείτε να χρησιμοποιήσετε αυτές τις συναρτήσεις για να καταργήσετε την επίδραση τυχόν προκαθορισμένων χαρακτήρων από τα δεδομένα συμβολοσειράς.
Παράδειγμα: Χρήση htmlspecialchars () και str_ireplace () για να αφαιρέσετε ειδικούς χαρακτήρες
Το παρακάτω σενάριο δείχνει πώς να αφαιρέσετε το αποτέλεσμα προκαθορισμένων χαρακτήρων από μια συμβολοσειρά χρησιμοποιώντας το htmlspecialchars () λειτουργία. Μετά το str_ireplace () συνάρτηση χρησιμοποιείται για την αφαίρεση των οντοτήτων HTML από το κείμενο. ο str_ireplace () η λειτουργία λειτουργεί όπως το str_replace () μπορεί να εκτελέσει αναζητήσεις χωρίς διάκριση πεζών-κεφαλαίων. Η κύρια συμβολοσειρά περιέχει κείμενο με< η2 > και< σι > ετικέτες. Έτσι, όταν το κείμενο εκτυπώνεται πριν αφαιρέσετε το εφέ των προκαθορισμένων χαρακτήρων, η συμβολοσειρά θα εμφανιστεί με το αποτέλεσμα της κεφαλίδας HTML και των έντονων ετικετών. Το απλό κείμενο θα εμφανιστεί μετά την εφαρμογή των δεδομένων συναρτήσεων.
// Ορίστε την κύρια συμβολοσειρά
$ mainstr = '
Καλωσόρισες στο LinuxHint
'?// Η έξοδος με ετικέτες HTML
πέταξε έξω 'Κείμενο πριν την κατάργηση:'Το$ mainstr?
// Η έξοδος μετά την κατάργηση ετικετών HTML
πέταξε έξω «Κείμενο μετά την αφαίρεση:
'Το
str_ireplace ( πίνακας (' ', ' ','
'
,''),'',htmlspecialchars ($ mainstr))?
?>
Παραγωγή
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου.
Η λειτουργία trim ()
ο λειτουργία trim () χρησιμοποιείται για την αφαίρεση συγκεκριμένων χαρακτήρων από την έναρξη και το τέλος μιας σειράς δεδομένων. Αυτή η συνάρτηση δεν μπορεί να αφαιρέσει χαρακτήρες από τη μέση μιας σειράς δεδομένων. Έτσι, μπορείτε να χρησιμοποιήσετε αυτήν τη συνάρτηση μόνο εάν θέλετε να αφαιρέσετε ειδικούς χαρακτήρες από την αρχή και το τέλος μιας συμβολοσειράς.
Παράδειγμα: Χρησιμοποιώντας το trim () Λειτουργία για να αφαιρέσετε ειδικούς χαρακτήρες
Το παρακάτω σενάριο δείχνει τη χρήση του λειτουργία trim () να αφαιρέσετε το « @ ' και ' ! Χαρακτήρες από την αρχή και το τέλος της μεταβλητής συμβολοσειράς $ mainstr Το Η αξία του $ mainstr η μεταβλητή θα εκτυπωθεί τόσο πριν όσο και μετά την αφαίρεση των χαρακτήρων.
// Ορίστε την κύρια συμβολοσειρά
$ mainstr = '@@ Προγραμματισμός Ιστού !!!.'?
// Η έξοδος πριν από τη χρήση του trim ()
πέταξε έξω ' Κείμενο πριν την κατάργηση:
'Το$ mainstr?
// Η έξοδος μετά τη χρήση του trim ()
πέταξε έξω '
Κείμενο μετά την αφαίρεση:
'Το τακτοποίηση ($ mainstr,'@!')?
?>
Παραγωγή
Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Εδώ, δύο « @ 'Οι χαρακτήρες αφαιρούνται από την αρχή και τρεις' ! Οι χαρακτήρες αφαιρούνται από το τέλος της μεταβλητής συμβολοσειράς $ mainstr Το
συμπέρασμα
Αυτό το σεμινάριο σας έδειξε τέσσερις διαφορετικούς τρόπους αφαίρεσης ειδικών χαρακτήρων από δεδομένα συμβολοσειράς. Ελπίζω ότι αυτό το σεμινάριο θα βοηθήσει τους αναγνώστες να εφαρμόσουν τις λειτουργίες που παρέχονται σε αυτό το άρθρο στο σενάριό τους.