Strumento di escape HTML + elenco ricercabile di entità HTML | We.Inc
Fai escape e unescape dell'HTML nel tuo browser, poi cerca tra 100 entità e simboli HTML comuni. Copia con un clic l'entità con nome, il codice numerico, il valore CSS content o l'escape JS.
Fare l'escape dell'HTML significa sostituire i caratteri che un browser interpreta come markup con delle entità: & diventa &, < diventa < e > diventa >. Dentro i valori degli attributi, anche le virgolette vanno sostituite. Incolla il testo qui sotto per fare escape o unescape, oppure cerca nella tabella dei simboli e copia qualsiasi entità come nome, numero o valore CSS.
I cinque caratteri che contano
Carattere
Entità
Quando va sostituito
&
Sempre nel testo, quando potrebbe iniziare un riferimento
<
Sempre nel contenuto testuale
>
Buona pratica ovunque; obbligatorio in alcuni contesti
"
Dentro i valori degli attributi racchiusi tra virgolette doppie
' o '
Dentro i valori degli attributi racchiusi tra virgolette singole
Un convertitore bidirezionale per interi blocchi di testo, più un elenco ricercabile dei simboli che si usano davvero: virgolette, trattini, spazi, valute, matematica, frecce, lettere greche ed emoji. Ogni riga si copia in quattro modi.
Incolla testo o markup nel riquadro e scegli Escape o Unescape. Il risultato si aggiorna mentre scrivi.
Spunta Modalità attributo quando il testo andrà dentro il valore di un attributo, così vengono sostituite anche le virgolette.
Spunta Codifica non ASCII se il file verrà salvato o inviato con una codifica diversa da UTF-8; ogni lettera accentata e ogni simbolo diventa un riferimento numerico.
Cerca nella tabella per nome, simbolo o gruppo, poi clicca Nome, Numero, CSS o JS per copiare quella forma.
Fai l'escape nel momento in cui inserisci il testo nell'HTML, non quando lo salvi. Salvare testo già convertito porta in seguito a doppi escape come &amp;.
Framework come React fanno l'escape del contenuto testuale al posto tuo. L'escape manuale ti serve solo quando costruisci a mano stringhe HTML.
Uno spazio unificatore ( ) tiene due parole sulla stessa riga, per esempio un numero e la sua unità di misura. Non usarne sequenze per l'impaginazione; usa invece i margini CSS.
In CSS la proprietà content accetta una barra rovesciata seguita dal codice esadecimale, quindi una freccia verso destra è content: "\2192". Aggiungi uno spazio dopo il codice se il carattere successivo è una cifra esadecimale.
Domande frequenti
Qual è la differenza tra un'entità con nome e una numerica?
Mi servono ancora le entità se la mia pagina è in UTF-8?
Solo per i caratteri che hanno un significato nel markup: &, < e, dentro gli attributi, le virgolette che hai usato. Con una pagina UTF-8 puoi digitare direttamente simboli come €, é o →. Le entità per questi sono facoltative e servono soprattutto quando un editor o un sistema di email rovina il testo non ASCII.
' è HTML valido?
Sì, in HTML5. Mancava in HTML 4, ed è per questo che il codice più vecchio usa '. Entrambe funzionano in tutti i browser attuali, e l'opzione di escape di questa pagina produce ' per la massima compatibilità.
L'escape dell'HTML basta a fermare gli attacchi XSS?
Impedisce che il testo iniettato diventi markup nel normale contenuto degli elementi e negli attributi tra virgolette. Non rende sicuro un valore dentro un blocco script, un gestore di eventi inline, un attributo style o un URL come href, ognuno dei quali richiede una propria codifica o validazione. Usa l'escape integrato del tuo framework ed evita, quando puoi, di costruire HTML a partire da stringhe.
Il mio testo viene inviato da qualche parte?
No. Escape e unescape vengono eseguiti nel tuo browser, e nulla di ciò che incolli lascia la pagina.
Perché i browser hanno bisogno delle entità
Un parser HTML legge < come l'inizio di un tag e & come l'inizio di un riferimento a carattere. Se il nome di un prodotto o un esempio di codice contiene quei caratteri, il browser può nascondere parte del testo, unirlo al tag successivo o, nel caso peggiore, eseguire markup iniettato. Sostituirli dice al parser di mostrare il carattere invece di interpretarlo.
La regola pratica: fai l'escape di &, < e > nel testo, e anche delle virgolette dentro i valori degli attributi. Tutto il resto è questione di comodità o di codifica.
Entità in CSS e JavaScript
Le entità HTML funzionano solo in HTML. In un foglio di stile un carattere si scrive come una barra rovesciata seguita dal suo codice esadecimale, ed è per questo che la tabella offre una colonna CSS per le icone negli pseudo-elementi e i punti elenco personalizzati. Nelle stringhe JavaScript l'equivalente è \u seguito da quattro cifre esadecimali, oppure \u{...} per i caratteri oltre U+FFFF come le emoji.
Se imposti il testo con textContent in JavaScript, non fare mai l'escape prima: il browser lo tratta già come testo semplice, e l'escape mostrerebbe l'entità alla lettera.