HTML エンコーダー / デコーダー
特殊文字をHTMLエンティティ(&、<、>、")にエンコードし、HTMLエンティティをプレーンテキストにデコードします。HTMLをコードに埋め込むときやXSS防止に役立ちます。
Encoding:
Common HTML Entities
| Character | Entity | Description |
|---|---|---|
| & | & | Ampersand |
| < | < | Less than |
| > | > | Greater than |
| " | " | Double quote |
| ' | ' | Single quote |
| © | © | Copyright |
| ® | ® | Registered |
| ™ | ™ | Trademark |
| — | — | Em dash |
| … | … | Ellipsis |
| (space) | | Non-breaking space |
| € | € | Euro sign |
HTML エンコーダー / デコーダーの使い方
- 1入力フィールドにテキストを貼り付けるか入力してください。
- 2「Encode」をクリックして特殊文字をHTMLエンティティに変換してください。
- 3「Decode」をクリックしてHTMLエンティティをプレーンテキストに変換してください。
- 4出力をコピーしてHTML、テンプレート、またはコードで使用してください。
Zenovayアナリティクス
関連ツール
よくある質問
HTMLエンティティとは何ですか?▾
HTMLエンティティはHTMLで特別な意味を持つ文字または直接入力できない文字を表すために使用される特殊コードです。&で始まり;で終わります。名前付きエンティティ:& → &、< → <、> → >、" → "、' → '。数値エンティティ:< = <(10進数)、< = <(16進数)。HTMLパーサーはレンダリング時にエンティティを対応する文字に変換します。エンティティを使用するとブラウザがテキストをHTMLマークアップとして解釈することを防ぎます。
HTMLをエンコードする理由は何ですか?▾
HTMLエンコーディングは以下を防ぎます:XSS(クロスサイトスクリプティング)攻撃 — <script>タグを含むユーザー入力が<script>にエンコードされ、実行されずにテキストとしてレンダリングされます。HTML injection — 信頼できないコンテンツページ構造を破壊すること。破損した表示 — テキスト内の<と>がHTMLタグとして誤解釈されることです。HTMLに挿入する前に必ずユーザー生成コンテンツをエンコードしてください。生のHTML文字列連結の代わりに、テンプレートエンジンまたはReact(デフォルトで自動エスケープ)を使用します。
&と&amp;の違いは何ですか?▾
&はリテラル&文字のHTMLエンティティです。&amp;はダブルエンコード — HTMLで「&」というテキストを表し、「&」としてレンダリングされます。ダブルエンコーディングは既にエンコードされたテキストをエンコードする場合に発生します。ページに「&」というテキストを文字通り表示する必要がある場合は、HTMLに&amp;を書きます。これはHTMLエンティティの例を示すコードスニペットとドキュメントで発生します。
名前付きまたは数値HTMLエンティティを使用すべきですか?▾
どちらも有効です。名前付きエンティティ(&、<)はより読みやすいです。数値エンティティ(&、<または&、<)は、名前付きと等価な任意のUnicode文字に対して機能します。安全な慣行:最低でも&、<、>、"(および属性値の場合は')を常にエンコードします。古いシステムでの完全なUnicode安全性のために、すべての非ASCII文字を数値でエンコードします。モダンUTF-8 HTML5ページでは、Unicode文字をエンコーディングなしで直接含めることができます。
PHPのhtmlspecialchars関数とは何ですか?▾
PHPのhtmlspecialchars()は&、<、>、"、'をHTMLエンティティ相当に変換します。ENT_QUOTESフラグを使用して単一引用符と二重引用符の両方をエンコードします:htmlspecialchars($str, ENT_QUOTES, 'UTF-8')。htmlspecialchars_decode()はこれを逆にします。html_entity_decode()はすべての名前付きエンティティを処理します。JavaScript:組み込みはありませんが、DOMParserまたはdocument.createElement + textContentでエンコード/デコードできます。Python:html.escape()とhtml.unescape()。