Breem: Syntax-Highlighting für angezeigte Dateien

Beitrag lesen

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