ツール
入力
結果
結果はここに表示されます。実行履歴
ポイントを消費した実行のみ保存されます。
ログインすると実行履歴を残せます。
マークアップを抜け出せる5つの文字 — & < > " ' — をエスケープすることで、ユーザーのテキストがユーザーのマークアップになるのを防ぎます。これはそれらをエンコードし、逆方向には名前付き・10進数・16進数の参照をデコードします。絵文字や珍しい文字が数値参照で渡される場合も含みます。
動作のしくみ
- ミニマルモードは、正確性に重要な5文字のみをエスケープし、出力を読みやすく保ちます。
- フルモードは、ASCIIの英数字以外をすべてエスケープし、UTF-8を扱えない環境向けです。
- デコードは名前付き・10進数・16進数の参照を処理し、認識できないものはそのまま残します。
データの行き先
どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。
ポイントを消費した実行は、後から探せるように一行の要約があなた自身の履歴に保存されます。保存されるのは実行の形——サイズ、件数、調べた値——であって、貼り付けた内容ではありません。
必要なポイント
1 回あたり 50.0 KB まではアカウントなしで無料です。それを超える実行は 1 ポイントを消費し、履歴に保存されます。
ポイントは登録、デイリーチェックイン、コメント投稿、プロフィールの記入で貯まります。
ポイントの仕組みを見るよくある質問
- エスケープすればXSSを防げますか?
- HTML本文のテキストに限ります。属性内、スクリプトブロック内、URL内ではエスケープのルールが異なり、エンティティエンコードだけでは不十分です。ユーザーが制御するものには、フレームワークの文脈認識型エスケープを使用してください。
- とスペースはなぜ違うのですか?
- ノーブレークスペースは改行を防ぎ、隣接する空白と結合されません。Webページからコードにコピーすると、スペースのように見えてパースを壊します。デバッグ前にテキストをデコードする価値があるのはそのためです。
- すべての非ASCII文字をエスケープする必要がありますか?
- いいえ。UTF-8で配信されるページはそれらを直接扱えるため、エスケープするとソースが読みにくくなります。フルモードは、エンコーディングを信頼できないレガシーパイプライン向けに存在します。
背後にあるオープンソース
このツールは外部ライブラリを同梱しない独自実装です。mathiasbynens/he(MIT)はコードとして同じ仕事をします。自分のプログラムで同じことをしたいなら、Web ページを呼ぶのではなくそちらから始めてください。
mathiasbynens/he別の呼び方
- html エンティティ 変換
- html デコード
- html エスケープ
- html 特殊文字 変換
- エンティティ デコード