HTML エンティティ エンコード
HTML の中に安全に置けるようテキストをエスケープします。「最小限」はマークアップを壊す 5 文字を、「非 ASCII すべて」は ASCII を超えるすべてを数値参照に変換します。
テキスト
エスケープ結果
このツールについて
テキストはアンパサンドや山かっこを含んだ瞬間にマークアップになります。迷い込んだ < が段落の残り全部を閉じられていないタグに変えてしまうのがその例です。エンコードはそうした文字を、パーサーが文字どおりのテキストとして読む参照に置き換えます。最小限の集合 — アンパサンド、両方の山かっこ、両方の引用符 — が、ページのテキストや引用符で囲まれた属性にテキストを入れる際に必要なものです。広いほうのモードはアクセント付き文字、記号、絵文字もエスケープします。UTF-8 を任せられない処理経路のためです。
使い方
- 1HTML の中に入れたいテキストを貼り付けます。
- 2通常のページテキストなら「最小限」のまま、UTF-8 でない送り先なら「非 ASCII すべて」を選びます。
- 3エスケープされた結果をそのままテンプレートにコピーします。
よくある質問
›どの文字をエスケープする必要がありますか?
ページのテキストでは、解析を本当に壊すのは & と < の 2 つです。属性値の中では、使っている引用符も必要になります。> と両方の引用符もあわせてエスケープするのが安全な習慣で、ここでの「最小限」はそれを行います。
›エスケープすればユーザー入力をページに挿入しても安全ですか?
必要条件ではありますが十分ではありません。この 5 文字をエスケープするのはテキストと引用符付き属性には正しい対処です。しかし <script> ブロックの中、スタイル規則、href のような URL 属性では別の規則が働くため十分ではありません。textContent か、エスケープを代行してくれるテンプレートエンジンを使ってください。
›「非 ASCII すべて」モードはどんなときに使いますか?
出力が UTF-8 でない経路を通らなければならないときです。古いメールテンプレート、レガシー CMS の項目、自分で符号化を制御できないファイルなどです。ASCII を超えるすべての文字が、どのパーサーでも読める数値参照になります。
›名前付き参照と数値参照のどちらがいいですか?
© のような名前付きは読みやすく、© のような数値はパーサーが名前を知らなくても必ず動きます。このページは HTML の 5 文字には名前付き参照を、それ以外には数値参照を使います。