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