还原压缩的 PHP 代码

PHP 代码被挤在一行里?本页会把它展开回独立的语句,大括号各占一行,每个代码块都会缩进。变量名无法恢复,已被删除的注释也永久丢失,但代码的结构会变得容易理清。

如何还原 PHP 代码

  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,结果也会是这样。
  • 使用编码字符串或运行时求值负载的混淆代码,即使排版整齐,也依然难以阅读。对于来历不明的代码请保持谨慎,切勿仅仅为了看它做什么而运行。

阅读结果

从最外层的大括号开始,它们现在位于左边缘,然后由外向内逐层阅读。函数和类的头部说明了代码定义了什么,其下缩进的行则说明每个部分做了什么。原本连在一起运行的语句链现在每行一条,因此你可以按执行顺序理解程序。

处理压缩代码的建议

  • 先格式化,再阅读。不要直接编辑压缩后的文本。
  • 保留原始文件。展开后的布局用于阅读,之后可以用编辑器的格式化工具重新调整样式。
  • 如果文件中有多个顶层函数,请一起粘贴。每个函数都在其右大括号处结束,因此边界很容易看清。

与原始文件对比

如果你仍然保存着压缩前的文件,可以搜索其中几个不常见的字符串,并确认它们也出现在展开后的文本中。这是确认没有遗漏内容的快速方法,在把结果复制到重要位置之前值得这样做。

常见问题

不能。被压缩工具缩短的名称已经丢失。这里只能重建布局。

不会。源码中的注释一旦被删除,就没有可以恢复的内容了。

对于简单代码应当一致,因为只有空白字符发生了变化。字符串字面量内的逗号间距是主要例外,因此请检查字符串。

不能。它只改变布局。经过编码或打包的负载会保持原样。

相关工具

此工具还提供其他语言版本

使用指南与应用场景