HTML タグ・script ブロック・独自パターンをフィルター

必要なフィルターを選ぶか、パターンと置換文字列を入力して「クイックフィルター」を押します。処理はページ内で完結し、結果は書式なしテキストです。XSS 対策ではなくテキストの整理用です。

ブラウザ内でローカルに実行

テキストからタグ・script ブロック・パターンを除去する手順

テキストを貼り付け、フィルターを 1 つ以上選んで「クイックフィルター」を押します。JS をフィルターは <script> ブロック、CSS をフィルターは <style> ブロックを削除し、HTML をフィルターはコメント・宣言・実際のタグ・文字参照を取り除き、カスタムフィルターは独自の正規表現を適用します。複数のフィルターを 1 回で組み合わせられます。

処理はすべてページ内のテキスト操作です。入力は送信も実行もされず、結果はきれいにしたテキストの下書きであり、安全性の検査ではありません。

  1. 入力欄にテキストを貼り付けます。
  2. HTML をフィルター、JS をフィルター、CSS をフィルター、カスタムフィルターのいずれかを選びます。同時に複数選べ、カスタムフィルターではパターンと置換の入力欄が表示されます。
  3. 「クイックフィルター」を押します。JS・CSS・HTML の順に適用されたあと、カスタム置換が実行されます。
  4. コピーで書式なしのテキストを取得し、クリアで入力と結果を空にします。

4 つのフィルターの挙動

1 回の実行、4 つのフィルター

JS をフィルターと CSS をフィルターは <script> と <style> のブロックをタグごと削除します。属性・大文字小文字・改行の影響はありません。続いて HTML をフィルターが HTML コメント、<!doctype> などの宣言、実際のタグ(山かっこの直後が英字のときだけ)、文字参照(名前付き &nbsp;、10 進 &#39;、16 進 &#x1F600;)を取り除きます。

フィルターはマークアップの間のテキストには触れません。一致した部分だけが削除され、書き換えや並べ替えは行いません。何も選ばずに実行すると入力がそのまま返り、複数選んだ場合の適用順は常に JS → CSS → HTML → カスタムで、クリック順には依存しません。

カスタムフィルター

カスタムフィルターは JavaScript の正規表現を全体に適用します。パターンはエスケープされず HTML を理解しないため、\d や [a-z]、. などのメタ文字は JavaScript と同じように働きます。置換文字列は同じ replace() に渡されるので、$&(一致部分)や $1 などのグループ参照も解釈されます。

[ のような不正なパターンはメッセージで知らせ、直前の結果を残さずに結果欄を空にします。空のパターンはすべての位置に一致するため、文字間のすべての隙間に置換が入ります。カスタムフィルターと 3 つのチェックボックスは排他で、片方を選ぶともう片方は外れます。

結果の位置づけ

結果は書式なしのテキストです。色は表示上のハイライトにすぎず、コピーでは書式のないテキストがクリップボードに入ります。エディターやファイルに貼り付けるのはこのテキストです。

文字列を取り除いても、信頼できない HTML が安全になるわけではありません。これはテキストの整理であり、XSS フィルターでもサニタイザーでもなく、実行時にマークアップを組み立てるスクリプトは理解できません。結果を確認するまで元のテキストを保管してください。

最近使ったツール: