Dez 27
PHP Code Highlighting
Oft sieht man das PHP Code Farbig in HTML ausgegeben wird. Viele fragen sich, wie funktioniert das?
Das ganze ist sehr viel einfacherer als die meisten von euch denken. Dazu ist im Prinzipp nur eine einzige PHP Funktion nötig:
highlight_string();
Diese Funktion highlighted die syntax des PHP Codes. Ein Beispiel:
$string = ""; highlight_string($string); // Ausgabe // echo $string;
Aber Achtung:
Wenn wir als Beispiel
highlight_string("echo "string";");
haben, haben wir ein Problem.
Es wird nicht funktionieren. Stattessen muss man die " (Anführungszeichen) escapen!
Die funktioniert wie folgt:
highlight_string("echo \"string\";");
oder
highlight_string("echo 'string';");
Die syntax einer ganzen Datei highlighten
Es gibt auch noch die Möglichkeit PHP farbig auszugeben.
Und zwar indem man gleich eine ganze Datei ausließt. Dies funktioniert mit der Funktion
highlight_file("phpfile.php");
Was wird gehighlightet?
- Zeichenketten ("string")
- Kommentare (#Kommentar)
- Schlüsselwörter für Funktionen (z.B. array())
- Alle anderen Elemente ($string)
- Alle anderei HTML Elemente.
Wie kann man die Farben umstellen? - Farben der Syntax umstellen
Die Farben kann man in der php.ini Datei umstellen. Jedoch können dies in den meisten Fällen nur Serveradmins.
Eine andere Möglichkeit währe das ganze mittels Regex, oder einfach mit Hilfe der Function str_replace zu lösen. Allerdings kann es da dann sehr leicht zu Fehlern kommen, weshalb von dieser Methode abgeraten werden kann.
Beispiel:
$string = highlight_string(""); $string = str_replace($farbe_die_ersetzt_werden_soll, $neue_farbe, $string);
So, was ist nun mit $farbe_die_ersetzt_werden_soll und $neue_farbe gemeint?
$farbe_die_ersetzt_werden_soll = "#ff0000"; #Rot #wird ersetzt durch $neue_farbe = "#0000ff"; # Blau
Somit würde alles was vorhin Rot geschrieben wurde nacher Blau geschrieben werden!
Viel Spaß beim Testen und Anwenden

Januar 4th, 2008 at 3:35 pm
Hallo,
mithilfe der Funktion ini_set kann man auch folgende Werte einfach für einen
ganzen Scriptablauf anpassen (HTML-RGB Wert):
highlight.bg
highlight.comment
highlight.default
highlight.html
highlight.keyword
highlight.string
Gruß
Jannik
Januar 6th, 2008 at 3:18 pm
Vielen Dank Jannik!
Werde es bei der nächsten Gelegenheit ändern
Gruß Leichti