Servus
Ich zeige Dateien an, und zwar mit folgendem Code:
//Inhalt der Datei überarbeiten
$inhalt = file_get_contents($e);
$inhalt = htmlentities($inhalt);
$inhalt = nl2br($inhalt);
$inhalt = str_replace("<br />","<br>",$inhalt);
//Syntax-Highlighting
$inhalt = syntax_highlight($inhalt);
echo "<h2>Quelltext von <span style=\"font-style:italic;\">".$e."</span>\n";
echo "<div style=\"background-color:#fff; color:#000; border:1px solid #ccc\">\n";
echo $inhalt;
echo "\n</div>";
Die Funktion "syntax_highlight() ist benutzerdefiniert, und soll soweit wie möglich dessen Syntax einfärben, und zwar am besten so wie es gedit auch macht.
Bisher hab ich es soweit geschafft:
function syntax_highlight($text){
$tags=array("p","a","strong","br","i","u","span","div","img","b","hr","table","tr","td","h1","h2","h3","h4","h5","h6","form", "select","option","input","textarea","font");
foreach($tags as $tag){
$text=str_replace(htmlentities("<").$tag,"<span class=\"klammer\">".htmlentities("<").$tag."</span>",$text);
$text=str_replace(htmlentities("</").$tag,"<span class=\"klammer\">".htmlentities("</").$tag."</span>",$text);
}
//Klammern
$text=str_replace(htmlentities(">"),"<span class=\"klammer\">".htmlentities(">")."</span>",$text);
return $text;
}
Aber ich sehe jetzt schon, dass das eine riesen-Funktion wird. Deshalb suche ich gerade nach einem freien Syntax-Highlighting, das schon ein anderer gemacht hat. Es würde mir große Arbeit ersparen.
Könnt ihr mir ein Script zum Syntax-Highlighting empfehlen?
Servus
Breem