Expressão regular – blocos de comentários em php

Por vezes surge a necessidade de retirar os comentários do código php de modo que os mesmos não aparecem em certas pesquisas. O código que aqui vou deixar tem como base uma expressão regular que cria um array todos os blocos (várias linhas de código) de comentários.

<?
        $arquivo      ="meu_ficheiro.php";
	$data_arquivo = file_get_contents($arquivo);
	$pattern = '/(\/\*)(.|\s)+?(\*\/)/';
	preg_match_all($pattern, $data_arquivo, $matches);
	foreach($matches[0] as $bloco)
	{
		$data_arquivo = str_replace($bloco, '', $data_arquivo);
	}
?>

A execução da expressão regular cria uma entrada no array $matches por cada bloco de comentários encontrados (/* tudo o que estive aqui */). No exemplo acima percorremos o array e removemos cada entrada da variável $data_arquivo .

De notar que só estamos identificando os comentários em blocos (/* ….. */). Para retirar todos os comentários do código php é ainda necessário retirar as linhas começadas por //.

Deixar uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *