HTMLエンティティ エンコード/デコード

<>&"などの特殊文字をHTMLエンティティに変換。デコードも対応。

`などを注入する攻撃。防止策: 1. ユーザー入力を`innerHTML`に直接渡さない(`textContent`を使用)。2. サーバーサイドでHTMLエスケープ: `&`, `<`, `>`, `\"`, `'`を実体参照に変換。3. React等のフレームワークは自動エスケープ(`dangerouslySetInnerHTML`は使わない)。4. CSP(Content Security Policy)ヘッダーで`script-src 'self'`を設定。このツールで安全な変換を確認できます。"}},{"@type":"Question","name":"JavaScriptでHTMLエンティティをエンコード・デコードする方法は?","acceptedAnswer":{"@type":"Answer","text":"エンコード(エスケープ): `const encode = s => s.replace(/[&<>\"']/g, m => ({\"&\":\"&\",\"<\":\"<\",\">\":\">\",\"\\\"\":\""\",\"'\":\"'\"})[m])`。デコード(アンエスケープ): `const el = document.createElement(\"div\"); el.innerHTML = encodedStr; const decoded = el.textContent;`(ブラウザのみ)。サーバーサイド: `he`(he.js)や`html-entities`パッケージが便利。DOMPurify: サニタイズ(許可タグの維持+XSS除去)が必要な場合に使用。"}}]}]

0 文字

主要HTMLエンティティ一覧

文字名前付き参照数値参照説明
&&amp;&#38;アンパサンド
<&lt;&#60;小なり
>&gt;&#62;大なり
"&quot;&#34;ダブルクォート
'&apos;&#39;シングルクォート
©&copy;&#169;コピーライト
®&reg;&#174;登録商標
&trade;&#8482;商標
&euro;&#8364;ユーロ
¥&yen;&#165;
°&deg;&#176;
×&times;&#215;掛け算
÷&divide;&#247;割り算
&hellip;&#8230;省略記号
&mdash;&#8212;ダッシュ

このツールをもっと活用する

もっと学びたい方へ

チートシート・技術記事・開発リソースで学習を加速