Enkodues & Dekodues HTML Falas

Enkodoni karaktere speciale në entitete HTML ose dekodoni entitetet përsëri në tekst të thjeshtë. Menjëherë, në shfletuesin tuaj.

Funksionon jashtë linje sapo ngarkohet
Rezultati:
Shembuj:
Tekst i thjeshtë / HTML
HTML i koduar
Rezultati do të shfaqet këtu...
Referenca e entiteteve të zakonshme HTML
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

Si funksionon

Kodifikimi dhe dekodifikimi HTML këtu funksionon tërësisht në shfletuesin tënd duke përdorur zëvendësim regex të shkruar me dorë dhe një tabelë kërkimi entitetesh të emërtuar të paravendosur — pa bibliotekë kodifikimi të palës së tretë, pa udhëtim vajtje-ardhje te serveri. Për dekodifikimin e entiteteve të emërtuara jo të zakonshme (si &aacute; ose &ldquo;), mjeti ia delegon analizuesit të vetë HTML-së të shfletuesit si rezervë pa kosto.

  1. 1
    Regex skanon për karaktere për t'u zëvendësuar
    Gjatë kodifikimit, njëri prej dy regex-eve të vetëdijshëm për Unicode xhiron nëpër hyrjen tënde: një model i synuar që mbulon ~25 karaktere të zakonshme HTML-domethënëse dhe të veçanta, ose një model më i gjerë që kap çdo pikëkod mbi U+007F. Çdo përputhje kapet karakter pas karakteri.
  2. 2
    Tabela kërkimi ose codePointAt() prodhon entitetin
    Për dalje entitetesh të emërtuara, karakteret e përputhur kërkohen në një tabelë të paravendosur (p.sh. & → &amp;, © → &copy;). Për dalje dhjetore ose heksadecimale, String.codePointAt() merr pikëkodin Unicode dhe e formaton si &#NNN; ose &#xNNN; — çiftet surrogate trajtohen saktë sepse regex-i përdor flamurin Unicode 'u'.
  3. 3
    Një kalim i vetëm regex dekodon entitetet përsëri në karaktere
    Gjatë dekodifikimit, një kalim i vetëm regex identifikon të gjitha shenjat e entiteteve (&amp;, &#65;, &#x41;, etj.) dhe drejton secilën te trajtuesi i saktë: parseInt heksadecimal (bazë 16), Number() dhjetor, kërkim i kundërt i emërtuar, ose — për çdo entitet jo në tabelën e paravendosur — një element textarea innerHTML-in e të cilit e analizon vendas shfletuesi, duke kthyer karakterin e saktë nga tabela e integruar e entiteteve të shfletuesit.
  4. 4
    Rezultati shfaqet menjëherë; kopjo te clipboard përmes API-së Clipboard
    Dalja rillogaritet në mënyrë sinkrone me çdo goditje tastiere përmes React useMemo. Kopjimi përdor navigator.clipboard.writeText() — API-ja moderne asinkrone Clipboard — me një kapje të heshtur për kontekste të kufizuara.

Mjete të ngjashme

Pyetjet e bëra më shpesh