Desminificar código PHP
Está com PHP espremido em uma única linha? Esta página o expande de novo em instruções separadas, com chaves em linhas próprias e cada bloco indentado. Os nomes de variáveis não são restaurados e os comentários removidos se perdem de vez, mas a estrutura fica fácil de acompanhar.
Como desminificar PHP
-
1
Cole o código de uma linha
Copie o PHP compactado para a caixa de código PHP.
-
2
Escolha a indentação
Selecione 2 ou 4 espaços. Quatro espaços é mais fácil de percorrer com aninhamentos profundos.
-
3
Continue para o resultado
O código expandido aparece na página seguinte.
-
4
Confira e copie
Leia tudo e depois copie para o seu editor.
O que a desminificação pode e não pode fazer
Minificadores removem espaços em branco e comentários, e alguns também encurtam nomes. Expandir o layout é a parte fácil: uma instrução termina em um ponto e vírgula e um bloco começa e termina em uma chave. Esta ferramenta usa exatamente esses marcadores. Ela não consegue trazer de volta comentários removidos, nomes originais de variáveis nem escolhas de formatação originais.
Exemplo
Entrada compactada:
<?php if($age>=18){echo "adult";}else{echo "minor";}
Resultado expandido:
<?php if($age>=18)
{
echo "adult";
}
else
{
echo "minor";
}
A ferramenta também adiciona um espaço após cada vírgula, então ["red","green"] vira ["red", "green"]. Isso vale para as vírgulas do código, não apenas as que separam argumentos.
Limites para ter em mente
- Strings que contêm vírgulas, como
"a,b", também recebem um espaço depois da vírgula, porque essa regra roda sobre todo o texto antes de o código ser lido. Verifique os literais de texto depois. - Um ponto e vírgula ou uma chave dentro de um comentário é tratado como código e inicia uma nova linha ali.
- O espaçamento em torno de operadores permanece como estava. Se o código-fonte compactado escrevia
$a+$b, o resultado também escreve. - Código ofuscado que usa strings codificadas ou payloads avaliados continua ilegível mesmo com o layout bem organizado. Trate código desconhecido com cuidado e nunca o execute apenas para ver o que ele faz.
Como ler o resultado
Comece pelas chaves mais externas, que agora estão na borda esquerda, e avance para dentro. Os cabeçalhos de funções e classes mostram o que o código define, e as linhas indentadas abaixo mostram o que cada parte faz. Longas sequências de instruções que estavam juntas agora ocupam uma linha cada, então você consegue acompanhar a ordem em que as coisas acontecem.
Dicas para trabalhar com código compactado
- Formate primeiro e depois leia. Não edite o texto compactado diretamente.
- Guarde o arquivo original. O layout expandido serve para leitura, e o formatador do seu editor pode estilizá-lo depois.
- Se um arquivo tiver várias funções de primeiro nível, cole-as juntas. Cada uma termina na sua chave de fechamento, o que deixa os limites bem visíveis.
Compare com o original
Se você ainda tiver o arquivo minificado, procure algumas strings incomuns e confirme que elas aparecem no texto expandido. É uma forma rápida de verificar que nada se perdeu, e vale a pena fazer isso antes de copiar o resultado para algum lugar importante.
Perguntas frequentes
Não. Nomes encurtados por um minificador se perdem. Apenas o layout é reconstruído.
Não. Depois que os comentários são removidos do código-fonte, não há o que restaurar.
Deveria, para código simples, já que apenas os espaços em branco mudam. O espaçamento de vírgulas dentro de literais de string é a principal exceção, então verifique as strings.
Não. Ele apenas altera o layout. Payloads codificados ou empacotados continuam como estão.
Ferramentas relacionadas
Contador de FPS
Meça o FPS do navegador com requestAnimationFrame: suavização, taxa de quadros mínima e máxima, limite de alerta e gráfico opcional. Roda localmente, sem upload nem API.
Gerador de Configuração Webpack
Crie um webpack.config.js para webpack 5 com JavaScript puro, React ou Vue: TypeScript, Babel, CSS ou Sass, imagens, HtmlWebpackPlugin, servidor de desenvolvimento e a linha de npm install.
Conversor de Tamanho de Arquivo
Converta entre bytes, KB, MB, GB, TB e as unidades binárias IEC (KiB, MiB, GiB, TiB), combinando decimal e binário como preferir.
Gerador de textura de ruído
Gere uma textura de ruído em SVG que se repete sem emendas, com opacidade, frequência do grão, tipo de ruído e cor de fundo ajustáveis, e copie o CSS já pronto.
Gerador de Licença
Gere o texto completo de licenças de código aberto com seu nome e ano preenchidos. Abrange licenças MIT, Apache 2.0, GPLv3, BSD-3, MPL-2.0 e CC.
Desofuscador de JavaScript
Desofusque JavaScript minificado ou empacotado com renomeação de variáveis, decodificação de arrays de strings, reversão de achatamento de fluxo de controle e embelezamento.
Ferramenta disponível em outros idiomas
- คลายการบีบอัดโค้ด PHP [TH]
- Rozminifikuj kod PHP [PL]
- Giải nén mã PHP [VI]
- Membuka Minify Kode PHP [ID]
- فك ضغط كود PHP [AR]
- PHP-Code entminifizieren [DE]
- PHP コードの圧縮を解除する [JA]
- Desminificar código PHP [ES]
- PHP 코드 압축 풀기 [KO]
- Avminifiera PHP-kod [SV]
- Désminifier du code PHP [FR]
- PHP-code unminifyen [NL]
- Unminify PHP Code [EN]
- Decomprimere codice PHP [IT]
- Распаковка кода PHP [RU]
- PHP Kodunu Minify Etmeden Geri Açın [TR]
- 还原压缩的 PHP 代码 [ZH]