HTML Entity Encoder & Decoder

Κάντε escape σε κείμενο ώστε να μπαίνει με ασφάλεια μέσα σε HTML ή μετατρέψτε entities όπως & και € ξανά σε αναγνώσιμους χαρακτήρες.

Τρέχει στον browser σαςΧωρίς εγγραφήΤίποτα δεν ανεβαίνει

Κωδικοποιημένο

Πώς να χρησιμοποιήσετε: HTML Entity Encoder / Decoder

  1. Επιλέξτε Κωδικοποίηση για να κάνετε escape σε κείμενο ή Αποκωδικοποίηση για να μετατρέψετε entities ξανά σε χαρακτήρες.
  2. Κατά την κωδικοποίηση, επιλέξτε ποιοι χαρακτήρες θα γίνουν escape: μόνο οι ειδικοί της HTML, επιπλέον όλοι οι μη ASCII ή όλοι εκτός από γράμματα και ψηφία.
  3. Διαλέξτε ονομαστικές entities (é), δεκαδικές (é) ή hex (é).
  4. Αντιγράψτε το αποτέλεσμα. Κατά την αποκωδικοποίηση, οι άγνωστες entities εμφανίζονται σε λίστα ώστε να εντοπίζετε τυπογραφικά λάθη.

Γιατί escape στο HTML;

Πέντε χαρακτήρες έχουν ειδική σημασία στο HTML: το & ξεκινά μια entity, τα < και > οριοθετούν tags, και τα " και ' κλείνουν τιμές attributes. Αν κείμενο από χρήστες που τους περιέχει μπει σε μια σελίδα χωρίς escape, μπορεί να χαλάσει τη διάταξη ή, χειρότερα, να εισαγάγει scripts (cross-site scripting, XSS). Το escaping τους μετατρέπει σε &amp;, &lt;, &gt;, &quot; και &#x27;, που ο browser εμφανίζει ως κείμενο.

Ονομαστικές, δεκαδικές και hex entities

Κάθε χαρακτήρας Unicode μπορεί να γραφτεί ως αριθμητική αναφορά: δεκαδική &#8364; ή hex &#x20AC; για το €. Πολλοί συνηθισμένοι χαρακτήρες έχουν επίσης ευανάγνωστο όνομα, όπως &euro;, &copy; ή &nbsp;. Οι αριθμητικές αναφορές λειτουργούν παντού, και στο XML, που ορίζει μόνο πέντε ονομαστικές entities. Οι ονομαστικές entities διαβάζονται πιο εύκολα στον πηγαίο κώδικα.

Χρειάζεται να κωδικοποιήσω χαρακτήρες εκτός ASCII;

Όχι, αν η σελίδα σας σερβίρεται ως UTF-8, όπως σχεδόν κάθε σύγχρονο site (<meta charset="utf-8">). Χαρακτήρες όπως é, ü ή 日本 μπορούν να γραφτούν απευθείας. Η κωδικοποίησή τους είναι χρήσιμη για παλιά συστήματα, templates email ή όταν κάποιο pipeline αλλοιώνει το κείμενο εκτός ASCII.

Το escaping εξαρτάται από το πλαίσιο

Το escaping με HTML entities προστατεύει κείμενο μέσα στο περιεχόμενο στοιχείων και σε attributes με εισαγωγικά. Δεν αρκεί για τιμές μέσα σε μπλοκ <script>, inline event handlers, CSS ή URLs, που χρειάζονται το καθένα τη δική του κωδικοποίηση. Προτιμήστε το αυτόματο escaping του framework σας (React, Vue, Jinja, Blade) αντί να φτιάχνετε strings με το χέρι.

Συχνές ερωτήσεις

Ποιοι χαρακτήρες πρέπει να γίνονται escape στο HTML;
Στο περιεχόμενο κειμένου, τα & και < είναι απαραίτητα. Στις τιμές attributes, κάντε επίσης escape στον χαρακτήρα εισαγωγικών που χρησιμοποιήσατε. Το escape και των πέντε (& < > " ') είναι η ασφαλής προεπιλογή.
Τι είναι το &amp;nbsp;;
Ένα αδιάσπαστο κενό (U+00A0). Μοιάζει με κενό, αλλά εμποδίζει την αλλαγή γραμμής και δεν συμπτύσσεται με γειτονικά κενά.
Γιατί το &amp;copy2024 αποκωδικοποιείται σε ©2024;
Για λόγους συμβατότητας, οι browsers αποκωδικοποιούν μερικές παλιές entities, όπως &copy, &amp και &lt, ακόμη και χωρίς τον τελικό χαρακτήρα «;». Αυτός ο decoder ακολουθεί τον ίδιο κανόνα. Στο δικό σας HTML να γράφετε πάντα το «;».
Η απόστροφος είναι &amp;apos; ή &amp;#39;;
Το &apos; είναι έγκυρο σε HTML5 και XML αλλά όχι σε HTML 4, οπότε το αριθμητικό &#39; ή &#x27; είναι η πιο συμβατή επιλογή και αυτό παράγει ο encoder.

Σχετικά εργαλεία