Lumaktaw sa pangunahing nilalaman

Libreng HTML Encoder at Decoder

I-encode ang mga espesyal na karakter sa mga HTML entity o i-decode ang mga entity pabalik sa plain text. Agad, sa iyong browser.

Gumagana offline kapag na-load na
Output:
Mga halimbawa:
Plain text / HTML
Na-encode na HTML
Lalabas ang output dito…
Sanggunian ng mga karaniwang HTML entity
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

Mga karaniwang gamit

  • I-encode ang Content para sa RSS FeedsI-encode ang HTML content para sa RSS feed item descriptions — required ng RSS 2.0 standard.
  • I-sanitise ang User Input para sa HTML OutputI-encode ang user-provided strings bago ilagay sa HTML — nakakapigil ng XSS injection attacks.
  • I-encode ang Special Characters para sa HTML EmailI-encode ang characters tulad ng &, <, >, at © bilang HTML entities upang mag-render nang tama sa lahat ng email clients.
  • I-encode ang User Content para sa Web DisplayIhinto ang XSS attacks sa pamamagitan ng pag-encode ng user-generated content bago i-render sa HTML pages.
  • I-encode ang Content para sa XMLI-encode ang special characters para sa XML files, RSS feeds, sitemaps, at SOAP payloads.

Paano ito Gumagana

Buong tumatakbo sa iyong browser ang HTML encoding at decoding dito gamit ang hand-written na regex replacement at isang hardcoded na lookup table ng named entity — walang third-party encoding library, walang server round-trip. Para sa pag-decode ng mga bihirang named entity (gaya ng &aacute; o &ldquo;), ipinapaubaya ito ng tool sa sariling HTML parser ng browser bilang libreng fallback.

  1. 1
    Naghahanap ang regex ng mga character na papalitan
    Sa pag-encode, isa sa dalawang Unicode-aware na regex ang tumatakbo sa input mo: isang tiyak na pattern para sa ~25 karaniwang HTML-significant at espesyal na character, o isang mas malawak na pattern na humuhuli sa bawat code point na mas mataas sa U+007F. Hinaharang ang bawat tugma bawat character.
  2. 2
    Lookup table o codePointAt() ang gumagawa ng entity
    Para sa named-entity na output, hinahanap ang mga tumugmang character sa isang hardcoded na table (hal. & → &amp;, © → &copy;). Para sa decimal o hex na output, kinukuha ng String.codePointAt() ang Unicode code point at fino-format bilang &#NNN; o &#xNNN; — tamang hinahawakan ang mga surrogate pair dahil ginagamit ng regex ang Unicode 'u' flag.
  3. 3
    Dine-decode pabalik sa character ang mga entity sa iisang regex na pagdaan
    Sa pag-decode, tinutukoy ng iisang regex na pagdaan ang lahat ng entity token (&amp;, &#65;, &#x41;, atbp.) at ipinapasa ang bawat isa sa tamang handler: hex parseInt(base 16), decimal Number(), reverse lookup ng named entity, o — para sa anumang entity na wala sa hardcoded na table — isang textarea element na ang innerHTML ay native na pina-parse ng browser, na nagbabalik ng tamang character mula sa built-in na entity table ng browser.
  4. 4
    Agad lumalabas ang resulta; kopyahin sa clipboard gamit ang Clipboard API
    Synchronous na kinakalkula ulit ang output sa bawat keystroke gamit ang React useMemo. Gumagamit ang pagkopya ng navigator.clipboard.writeText() — ang modernong async na Clipboard API — na may tahimik na catch para sa mga restricted na konteksto.

Mga Kaugnay na Tool

Mga Madalas na Itanong