Πώς λειτουργεί η κωδικοποίηση HTML οντοτήτων
Μια HTML οντότητα είναι μια αναφορά χαρακτήρα που το πρόγραμμα περιήγησης αναλύει ξανά σε έναν μόνο χαρακτήρα.
- Επιλέξτε λειτουργία και εύρος. Η λειτουργία κωδικοποίησης διατρέχει την είσοδο χαρακτήρα προς χαρακτήρα. Η αποκωδικοποίηση ψάχνει για μοτίβα οντοτήτων.
- Επιλέξτε στυλ οντότητας. Οι ονομαστικές διαβάζονται καλά στον κώδικα. Οι δεκαδικές και δεκαεξαδικές καλύπτουν κάθε κωδικό σημείο Unicode.
- Διάσχιση εισόδου. Κατά την κωδικοποίηση, κάθε κωδικό σημείο αναζητείται σε έναν πίνακα 200 οντοτήτων. Τα misses πέφτουν σε αριθμητική μορφή.
- Αντιστοίχιση σε χαρακτήρες. Τα named matches επιλύονται μέσω αντίστροφου πίνακα. Τα numeric πηγαίνουν μέσω
String.fromCodePoint. - Ζωντανή λειτουργία. Ενεργοποιήστε τη ζωντανή λειτουργία και κάθε πληκτρολόγηση επανεκτελεί τη μετατροπή με καθυστέρηση 150 ms.
Γιατί να κωδικοποιήσετε HTML οντότητες
- Αποτροπή καταστροφής διάταξης από είσοδο χρήστη. Όταν ένας χρήστης πληκτρολογεί ένα
<σε ένα σχόλιο, η κωδικοποίηση αποτρέπει την ερμηνεία του ως μέρους ετικέτας. - Διατήρηση έγκυρων τιμών ιδιοτήτων. Η ενσωμάτωση συμβολοσειράς με εισαγωγικά σε μια ιδιότητα HTML χρειάζεται αντικατάσταση του εισαγωγικού.
- Εξουδετέρωση τυχαίου HTML σε αποθηκευμένα δεδομένα. Αρχεία καταγραφής με γωνιακές αγκύλες και συμπλεκτικά σύμβολα κωδικοποιούνται για εμφάνιση ως κείμενο.
- Ασφαλής κοινή χρήση αποσπασμάτων κώδικα. Η ανάρτηση παραδείγματος ετικέτας χρειάζεται κωδικοποίηση των αγκυλών.
Κοινές εφαρμογές
Η κωδικοποίηση οντοτήτων εμφανίζεται όπου το απλό κείμενο συνθέτει HTML.
- Πρότυπα από διακομιστή: Jinja2, ERB, Twig και Handlebars.
- Συγγραφή email και newsletters.
- Τεκμηρίωση και δείγματα κώδικα.
Ένα παράδειγμα
Επικολλήστε <script>alert('hi')</script> με λειτουργία Κωδικοποίηση, στυλ Ονομαστικές.
FAQ
Τι είναι οι HTML οντότητες;
Οι HTML οντότητες είναι αναφορές χαρακτήρων. Υπάρχουν σε τρεις μορφές: ονομαστικές, δεκαδικές και δεκαεξαδικές.
Πότε να χρησιμοποιώ ονομαστικές έναντι αριθμητικών;
Ονομαστικές όταν θέλετε αναγνώσιμο κώδικα. Αριθμητικές για παλαιότερους ή αυστηρότερους καταναλωτές.
Η αποκωδικοποίηση χειρίζεται δεκαεξαδικές οντότητες;
Ναι. Ο αποκωδικοποιητής χρησιμοποιεί ένα regex που ταιριάζει και τις τρεις μορφές.
Είναι ασφαλές για χρήση με μη αξιόπιστη είσοδο;
Το codec λειτουργεί μόνο στο πρόγραμμα περιήγησης. Η ασφάλεια εξαρτάται από το πλαίσιο ενσωμάτωσης.
Η κωδικοποίηση οντοτήτων από το πρόγραμμα περιήγησης βρίσκεται στο όριο μεταξύ εισόδου χρήστη και απόδοσης HTML.