開発者ツール

HTMLエンティティ

マークアップの文字をエスケープしてテキストとして表示したり、元に戻したりします。

HTMLエンティティ お使いのデバイス上で実行
  • ブラウザ上で動作します — テキストはどこにも送信されません
  • 登録不要、利用回数の上限なし、何度でも無料で使えます

仕組み

信頼できないテキストをエスケープせずにウェブページに入れると、クロスサイトスクリプティングが起こります。エンコードは、ブラウザがマークアップとして扱う文字をエンティティに変換し、実行されずに表示されるようにします。

エンコードされる文字

重要な5つの文字です。アンパサンド、小なり記号、大なり記号、二重引用符、アポストロフィ。アンパサンドを最初にエンコードしないと、後続のすべてが二重にエンコードされてしまいます。

デコード

デコードでは、対応表ではなくブラウザのパーサーを使って、名前付きエンティティと数値エンティティを文字に戻します。そのため、全種類が正しく処理されます。

エンコードされる文字の詳細

エンコードでは5つの文字を置き換えます。&は&amp;に、<は&lt;に、>は&gt;に、"は&quot;に、'は&#39;になります。これで、HTML内や引用符で囲まれた属性内でもテキストを安全に表示できます。アクセント付きの文字や絵文字はそのままです。UTF-8のページはそれらを直接表示できるためです。

デコード

デコードでは、&eacute;、&mdash;、&nbsp;などHTMLが定義するすべての名前付きエンティティに加え、10進数または16進数の数値エンティティ(&#233;、&#xE9;)も処理します。お使いのブラウザ自身のHTMLパーサーを使っているためです。

よくある質問

HTMLエンティティに関するよくある質問

これでサイトはXSSから安全になりますか?

出力のエスケープは必要な対策の一部ですが、安全かどうかは適切なコンテキストでエスケープしているかによります。フレームワークがある場合は、そのエスケープ機能を使ってください。

どの文字をエンコードしますか?

アンパサンド、小なり記号、大なり記号、二重引用符、アポストロフィです。ブラウザがマークアップとして読んでしまう文字が対象です。

テキストはアップロードされますか?

いいえ。エンコードはページ内で実行されます。