Escapowanie / dekodowanie HTML

Escapuj tekst do HTML albo dekoduj odwołania znakowe w przeglądarce. Koduje & < > " i ' w węzłach tekstowych; dekoduje nazwane i numeryczne odwołania.

Jak to działa
  • Escapuje & < > " i ' w węzłach tekstowych HTML. To nie jest pełny sanitizer XSS dla atrybutów ani skryptów.

Escapuje & < > " i ' w węzłach tekstowych HTML. To nie jest pełny sanitizer XSS dla atrybutów ani skryptów.

O escapowaniu HTML

Czym jest escapowanie HTML?

Escapowanie HTML zamienia znaki o specjalnym znaczeniu w HTML, żeby wyświetlały się jako tekst, a nie znaczniki. Ta strona koduje & < > " i ' do & < > " i '.

Dekodowanie odwraca to: odczytuje nazwane odwołania amp, lt, gt, quot i apos oraz numeryczne, np. ' i '. Wszystko dzieje się w przeglądarce. Escapowanie węzłów tekstowych nie zastępuje kodowania zależnego od kontekstu ani sanitizera XSS.

Escapowanie i dekodowanie w kodzie

JavaScript
text.replace(/&/g, "&amp;")
    .replace(/</g, "&lt;")
    .replace(/>/g, "&gt;")
    .replace(/"/g, "&quot;")
    .replace(/'/g, "&#39;")
Python
html.escape(text, quote=True)
html.unescape(text)
Encje
&  &amp;
<  &lt;
>  &gt;
"  &quot;
'  &#39;

FAQ: escapowanie HTML

Czym jest escapowanie HTML?
Escapowanie HTML koduje znaki, które inaczej byłyby znacznikami. Ta strona zamienia & < > " i ' na & < > " i ', żeby wyświetlały się jako tekst.
Czym jest dekodowanie HTML (unescape)?
Dekodowanie HTML zamienia odwołania znakowe z powrotem na tekst. Obsługiwane są nazwane amp, lt, gt, quot i apos oraz dziesiętne i szesnastkowe odwołania numeryczne.
Czy escapowanie HTML zapobiega XSS?
Nie. Escapowanie tych pięciu znaków wystarcza dla węzłów tekstowych HTML, ale atrybuty, URL-e i skrypty wymagają kodowania zależnego od kontekstu. To nie jest sanitizer.
Jak escapować ciąg HTML w kodzie?
W JavaScript zamień & < > " i ' na encje. W Pythonie użyj html.escape(text, quote=True) i html.unescape(text).