Pereiti prie pagrindinio turinio

HTML koduotuvas ir dekoduotuvas nemokamai

Koduokite specialiuosius simbolius į HTML objektus arba dekoduokite objektus atgal į paprastą tekstą. Momentaliai, jūsų naršyklėje.

Veikia neprisijungus, kai įkeliama
Išvestis:
Pavyzdžiai:
Paprastas tekstas / HTML
Koduotas HTML
Išvestis pasirodys čia...
Įprastų HTML objektų nuoroda
&&
<&lt;
>&gt;
"&quot;
'&#39;
·&nbsp;
©&copy;
®&reg;
™&trade;
€&euro;
—&mdash;
…&hellip;

Dažniausi naudojimo būdai

  • Koduokite turinį RSS srautamsKoduokite HTML turinį RSS srauto elemento aprašymams — reikalinga pagal RSS 2.0 standartą.
  • Dezinfekuokite naudotojo įvestį HTML išėjimuiKoduokite naudotojo pateiktus eilutės prieš jas įdedant į HTML — nusikratykite XSS injekcijos atakų.
  • Koduokite specialiuosius simbolius HTML el. paštuiKoduokite simbolius, tokius kaip &, <, >, ir © kaip HTML objektus, kad jie teisingai pavaizduotų visose el. pašto programose.
  • Koduokite vartotojo turinį žiniatinklės peržiūraiUžkirkite kelią XSS atakoms koduodami vartotojo sugeneruotą turinį prieš jį nupiešiant HTML puslapiuose.
  • Koduokite turinį„XMLKoduokite specialiuosius simbolius XML failams, RSS srautams, svetainės žemėlapiams ir SOAP naudingoms krovinėms.

Kaip tai veikia

HTML kodavimas ir dekodavimas čia veikia visiškai jūsų naršyklėje, naudojant rankomis parašytą reguliariojo reiškinio pakeitimą ir fiksuotą pavadintų objektų paieškos lentelę — jokios trečiosios šalies kodavimo bibliotekos, jokio kreipimosi į serverį. Dekoduojant retesnius pavadintus objektus (pvz., &aacute; ar &ldquo;), įrankis kreipiasi į pačios naršyklės HTML analizatorių kaip nemokamą atsarginį variantą.

  1. 1
    Reguliarusis reiškinys ieško simbolių pakeitimui
    Koduojant, per jūsų įvestį vykdomas vienas iš dviejų Unicode suvokiančių reguliariųjų reiškinių: tikslinis šablonas, apimantis apie 25 dažnus HTML reikšmingus ir specialius simbolius, arba platesnis šablonas, gaunantis kiekvieną kodo tašką virš U+007F. Kiekviena atitiktis perimama simbolis po simbolio.
  2. 2
    Paieškos lentelė arba codePointAt() sukuria objektą
    Pavadintų objektų išvesčiai atitikę simboliai ieškomi fiksuotoje lentelėje (pvz., & → &amp;, © → &copy;). Dešimtainei ar šešioliktainei išvesčiai String.codePointAt() gauna Unicode kodo tašką ir suformatuoja jį kaip &#NNN; arba &#xNNN; — pakaitiniai simboliai apdorojami teisingai, nes reguliariajame reiškinyje naudojama Unicode 'u' vėliava.
  3. 3
    Vienas reguliariojo reiškinio praėjimas dekoduoja objektus atgal į simbolius
    Dekoduojant, vienas reguliariojo reiškinio praėjimas nustato visus objektų žetonus (&amp;, &#65;, &#x41; ir t.t.) ir nukreipia kiekvieną į teisingą tvarkyklę: šešioliktainį parseInt (bazė 16), dešimtainį Number(), pavadintą atgalinę paiešką, arba — bet kokiam objektui, kurio nėra fiksuotoje lentelėje — textarea elementą, kurio innerHTML naršyklė analizuoja natyviai, grąžindama teisingą simbolį iš naršyklės įtaisytos objektų lentelės.
  4. 4
    Rezultatas pasirodo akimirksniu; kopijavimas į iškarpinę per Clipboard API
    Išvestis sinchroniškai perskaičiuojama su kiekvienu paspaudimu per React useMemo. Kopijavimui naudojamas navigator.clipboard.writeText() — modernus asinchroninis Clipboard API — su tyliu klaidos gaudymu ribotose aplinkose.

Susiję įrankiai

Dažnai užduodami klausimai