100 % locale — i tuoi dati non lasciano mai il tuo browser

Escape HTML — testo che resta testo

Fai l’escape del testo per l’HTML. I cinque caratteri strutturali diventano entità con nome e il resto un riferimento numerico che funziona ovunque.

Istantaneo Privato Zero cookie

Input Text

Output HTML Entities

Che cosa fa questo strumento

Cinque caratteri cambiano il senso dell’HTML, quindi ricevono un nome:

CarattereUscita
&&
<&lt;
>&gt;
"&quot;
'&#39;

Tutto ciò che supera l’ASCII stampabile diventa una referenza numerica decimale: é dà &#233;, € dà &#8364;.

Numeriche più che nominate

é esce come &#233;, non come &eacute;, ed è una scelta.

Un’entità nominata deve essere definita dal tipo di documento. L’HTML ne definisce qualche migliaio; l’XML ne definisce esattamente cinque. Incolla &eacute; in un file XML, in un feed Atom o in un documento XHTML servito come XML: il parser segnala un’entità non definita. &#233; lo capiscono tutti.

I caratteri invisibili diventano visibili

Uno spazio unificatore diventa &#160;. Spesso è proprio questo l’interesse: un U+00A0 incollato da Word sembra esattamente uno spazio nel tuo editor e non si comporta affatto come tale, e codificarlo è il modo di trovarlo.

Tabulazione e ritorno a capo restano grezzi. Sono legittimi nel testo HTML, e trasformarli in referenze renderebbe il sorgente meno leggibile senza guadagno.

L’apostrofo

' diventa &#39; invece di &apos;. &apos; è definito in XML e in HTML5, ma non in HTML 4: un documento in quella modalità mostra i sette caratteri al posto dell’apice. La forma numerica non ha questa lacuna.

Una referenza per carattere, non per unità

Un’emoji esce come &#128512;, una sola referenza. I caratteri fuori dal piano multilingue di base sono memorizzati su due unità internamente, e un escaper ingenuo ne emette due referenze rotte. Questo scorre i punti di codice.

Privato per progettazione

Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.

Domande frequenti

Perché é diventa &#233; e non &eacute;?
Perché una referenza numerica funziona in ogni documento. Le entità nominate oltre le cinque di base le definisce il doctype HTML — XML ne predefinisce esattamente cinque, quindi `&eacute;` in un file XML è un errore di entità non definita. `&#233;` non porta con sé questa condizione.
Devo fare l’escape di ogni carattere non ASCII?
No. Un documento UTF-8 che dichiara la propria codifica mostra `é` direttamente, e di solito è la sorgente migliore. L’escape serve quando il testo deve attraversare un canale solo ASCII o che non controlli: un vecchio motore di template, un gateway di posta, un campo di database con codifica ignota.
Basta questo a rendere sicuro l’input utente in HTML?
Per il contenuto testuale e per un valore di attributo tra virgolette sì: quei cinque caratteri sono esattamente quelli che cambiano il senso del markup. **Non** basta dentro `<script>` o `<style>`, in un attributo senza virgolette, né in un attributo URL dove il rischio è `javascript:`. L’escape dipende dal contesto, e questo strumento ne copre uno.

Convertitori correlati