PHP コードの圧縮を解除する

PHP が 1 行に詰め込まれていますか。このページは、それを独立した文に戻し、波かっこを独自の行に置き、各ブロックをインデントします。変数名は復元されず、削除されたコメントは完全に失われますが、構造はたどりやすくなります。

PHP の圧縮を解除する方法

  1. 1

    1 行のコードを貼り付ける

    圧縮された PHP を PHP コードの欄にコピーします。

  2. 2

    インデントを選ぶ

    2 または 4 スペースを選びます。入れ子が深い場合は 4 スペースの方が読みやすくなります。

  3. 3

    結果へ進む

    展開されたコードは次のページに表示されます。

  4. 4

    確認してコピーする

    内容を読んでから、エディタにコピーします。

圧縮解除でできること、できないこと

ミニファイツールは空白とコメントを削除し、中には名前を短くするものもあります。レイアウトを展開するのは簡単な部分です。文はセミコロンで終わり、ブロックは波かっこで始まって終わります。このツールはまさにそれらの目印を使います。削除されたコメント、元の変数名、元の書式の選択は復元できません。

例

圧縮された入力:

<?php if($age>=18){echo "adult";}else{echo "minor";}

展開された結果:

<?php if($age>=18)
{
    echo "adult";
}
else
{
    echo "minor";
}

このツールは、カンマの後にもスペースを追加します。そのため ["red","green"] は ["red", "green"] になります。これは引数の間だけでなく、コード内のすべてのカンマに適用されます。

注意すべき制限

  • "a,b" のように文字列の中にあるカンマにも、カンマの後にスペースが追加されます。この規則は、コードを読む前にテキスト全体へ適用されるためです。後で文字列のリテラルを確認してください。
  • コメント内のセミコロンや波かっこは、コードとして扱われるため、そこで新しい行が始まります。
  • 演算子の周りの空白は、元のまま残ります。圧縮前のソースが $a+$b と書いていれば、結果もそうなります。
  • 暗号化された文字列や実行時に評価されるペイロードを使う難読化されたコードは、きれいに配置してもなお読めないままです。素性のわからないコードは慎重に扱い、中身を確かめるためだけに実行しないでください。

結果の読み方

最も外側の波かっこから始めてください。今は左端にあり、そこから内側へ進みます。関数やクラスのヘッダーは、コードが何を定義しているかを示し、その下にインデントされた行は、各部分が何をしているかを示します。まとめて連なっていた文の列は 1 文ずつ改行されているため、処理の順番を追いやすくなります。

圧縮されたコードを扱うコツ

  • 直接編集せず、まず整形してから読んでください。
  • 元のファイルは保管してください。展開されたレイアウトは読むためのもので、後からエディタのフォーマッタで整え直せます。
  • ファイルにトップレベルの関数が複数ある場合は、まとめて貼り付けてください。各関数は閉じ波かっこで終わるため、区切りがわかりやすくなります。

元のコードと比べる

圧縮前のファイルが手元にあれば、珍しい文字列を数個検索して、展開後のテキストにも現れているか確認してください。何も失われていないことをすばやく確かめる方法で、重要な場所にコピーする前に行う価値があります。

よくある質問

いいえ。ミニファイツールが短くした名前は失われます。復元されるのはレイアウトだけです。

いいえ。ソースからコメントが削除されると、戻すものは残りません。

単純なコードであれば同じはずです。変わるのは空白だけだからです。文字列リテラル内のカンマの空白が主な例外なので、文字列を確認してください。

いいえ。このツールはレイアウトを変えるだけです。エンコードやパックされたペイロードは、そのまま残ります。

関連ツール

このツールは他の言語でも利用できます

使い方ガイドと活用例