Syntax-Highlighting für angezeigte Dateien
Breem
- php
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
echo $begrüßung;
Könnt ihr mir ein Script zum Syntax-Highlighting empfehlen?
highlight_file() und highlight_string() gefällt dir nicht?
echo "$verabschiedung $name";
Servus
highlight_file() und highlight_string() gefällt dir nicht?
Danke für die schnelle Antwort. Aber wie ich es drehe und wende, ich bekomme keinen farbigen Text hin, der ist immer nur schwarz.
Gibt es irgendwo ein funktionierendes Beispiel mit diesen Funktionen, damit ich mir da was abgucken kann?
Servus
Breem
hi,
Gibt es irgendwo ein funktionierendes Beispiel mit diesen Funktionen, damit ich mir da was abgucken kann?
Im Manual.
gruß,
wahsaga
Hallo,
Danke für die schnelle Antwort. Aber wie ich es drehe und wende, ich bekomme keinen farbigen Text hin, der ist immer nur schwarz.
Diese Funktionen sind primaer fuer PHP-Code gedacht.
Gibt es irgendwo ein funktionierendes Beispiel mit diesen Funktionen, damit ich mir da was abgucken kann?
Beispiel zu highlight_string(). Ansonsten im PHP-Umfeld mal GeSHi anschauen.
MfG, Thomas
Servus
Beispiel zu highlight_string(). Ansonsten im PHP-Umfeld mal GeSHi anschauen.
Also, das GeSHi ist schon das was ich gesucht habe... Aber - ähm - kann der kein HTML highlighten? ich sehe da nur HTML4STRICT. Von diesem Strict hab ich schon mal was gehört, hab mich aber nicht darum gekümmert. Ist denn html4strict das was ich brauche, um stinknormalen html-Code zu highlighten?
Servus
Breem
Hallo,
Ist denn html4strict das was ich brauche, um stinknormalen html-Code zu highlighten?
Ja, im "language file html4strict.php" sind die Elemente und Attribute versammelt, die HTML 4.01 anbietet und zwar auch jene aus der Transitional-Version (wie font) und aus der Frameset-Version (wie frame).
Im Kommentartext der Version 1.0.7.6 steht mit Aenderungsdatum 2005/12/30:
* TODO (updated 2004/11/27)
* -------------------------
* * Check that only HTML4 strict attributes are highlighted
* * Eliminate empty tags that aren't allowed in HTML4 strict
* * Split to several files - html4trans, xhtml1 etc
Diese Dateien gibt es aber zumindest in Version 1.0.7.6 noch nicht. Probiere es also einfach aus.
MfG, Thomas
hi,
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?
highlight_string() reicht dir nicht?
gruß,
wahsaga