HTMLエスケープ

テキストまたは <、' などの HTML エンティティを貼り付け。エンコードでマークアップ敏感文字をエスケープ。

HTMLエスケープについて

テンプレート、メール、CMS 出力ではリテラルの <> とエンティティが混在します。hidevtool の HTML エンティティコーデックは、HTML 文脈向けにテキストをエスケープするか、エンティティを Unicode に戻します。

エンコードは &, <, >、引用符を中心に扱います。デコードは &nbsp;、&lt; などの命名エンティティと &#十進; / &#xhex; 参照を、形式が正しければ解釈します。

ドキュメントにユーザー引用を埋める前はエンコード、ログで &amp;lt; が二重になっているときはデコード——FAQ で属性とテキストノードの違いも触れます。

できること

基本エスケープ

& → &amp;、< → &lt;、> → &gt;、引用符 → &quot; / &#39; など、典型的なテキストノード向けです。

命名エンティティ

デコードは ; で終わる &nbsp;、&copy; など HTML5 で一般的な名前付き参照を認識します。

数値参照

&#1234; や &#x1F600; は Unicode コードポイントにデコードされます。有効な列なら emoji も復元されます。

サニタイザーではない

エスケープだけでは信頼できない HTML を安全にしません。ユーザー markup を描画する前にサニタイズしてください。

属性とテキスト

属性値も引用符付きエンティティが必要です。本ツールは貼り付け文字列を一律エスケープします。テンプレート側で属性を引用符で囲んでください。

二重エスケープ

すでに &amp; になっているものを再エンコードすると &amp;amp; になります。編集前に一度デコードしてください。

よくある使い方

HTML の特殊文字をエスケープするには?

プレーンテキストを貼り「エンコード」し、テンプレートやドキュメント例にコピーします。

&amp; などをデコードするには?

エンティティ文字列を貼り「デコード」します。参照が well-formed である必要があります。

HTML ドキュメント全体を処理しますか?

貼り付けた文字列のみです。ページ全体の自動ラップはしません。ユーザー供給のテキストノード向けです。

よくある質問

HTML の特殊文字をエスケープするには?
プレーンテキストを貼り「エンコード」し、テンプレートやドキュメント例にコピーします。
&amp; などをデコードするには?
エンティティ文字列を貼り「デコード」します。参照が well-formed である必要があります。
HTML ドキュメント全体を処理しますか?
貼り付けた文字列のみです。ページ全体の自動ラップはしません。ユーザー供給のテキストノード向けです。
HTML5 のエンティティはすべて対応?
一般的な命名・数値形式はデコードできます。稀な legacy エンティティはブラウザ DOM パースが必要な場合があります。
JSON 内の < も HTML エンティティにすべき?
JSON は \u エスケープを使います。Unicode 転義ツールや JSON.stringify を使ってください。
デコード結果がおかしい
参照の ; 欠落や混在エンコーディングが原因のことがあります。ソースを直すか段階的にデコードしてください。