Mr. Pretty: 50 Zeilen zum Sauberen Code!

Beitrag lesen

Hallo,

ich hab hier ein script für euch:
Dieses Script säubert scripte:

beispiel

<?php
if($test == '')
{
if ($test == '')
{
print "hallo";
}
print "hallo";
}
?>

hat natürlich keinen sinn. nun gibt man im folgenden script einfach an wie die datei heisst und erhält als ausgabe sauberen code.

###############################################

<?php

Settings

$tfile = "chk.php"; // file der zu checkenden datei  #
$sfile = "prettynow.txt"; // file der fertigen datei #
######################################################

$file = file($tfile);
$tc = '0';

for ($f=0; $f <= count($file)-1; $f++)
{
 $line = $file[$f];
 $line = ltrim($line);
 if ($line == '') continue;
 if (eregi("{", $line))
 {
  $tc++;
  for ($i=0; $i <= $tc-2; $i++)
  {
   $lines[] = "\t";
  }
  $lines[] = $line;
 }
 elseif (eregi("}", $line))
 {
  $tc--;
  for ($i=0; $i <= $tc-1; $i++)
  {
   $lines[] = "\t";
  }
  $lines[] = $line;
 }
 else
 {
  for ($i=0; $i <= $tc-1; $i++)
  {
   $lines[] = "\t";
  }
  $lines[] = $line;
 }
}

$result = join("", $lines);
$data = fopen($sfile, "w+");
fwrite($data, $result);
fclose($data);
if ($tc != '0') print "Parse Error!";
?>
<iframe src="prettynow.txt" width="100%" height="100%"></iframe>

##########################################

es guckt lediglich nach { und } mehr nicht ;-)
und zeigt an wenn die klammer struktur nicht auf geht, also wenn ein "klammer zu" fehlt oder zuviel ist...

aber auchtung ist nur für code in dem selben schreib stil gedacht wie man ihn im script selber sieht.

also

function bla ()
{
  print "hallo";
}

nicht

function bla (){
  print "hallo";
}

oder sonst was.

MfG
Mr. Pretty