Normalerweise fügt Text_Highlighter HTML-Code in die ursprüngliche Eingabe ein, um die Hervorhebung um zu setzen.
Andere Ausgabeformate sind aber möglich, z.B. werden auch farb-taugliche Kommandozeilenkonsolen unterstützt wie xterm oder über less(1). Dazu muss Text_Highlighter angewiesen werden einen anderen Renderer zu verwenden:
Den Renderer für die Konsole verwenden
<?php
require_once "Text/Highlighter.php";
require_once "Text/Highlighter/Renderer/Console.php";
$hlSQL =& Text_Highlighter::factory("SQL");
$hlSQL->setRenderer(new Text_Highlighter_Renderer_Console);
echo $hlSQL->highlight("SELECT * FROM some_table WHERE id = 12");
?>
Es ist gleichfalls möglich die Ausgabe des HTML- und Konsolen-Renders anzupassen. Dazu kann im Konstruktor des Renderers ein assoziatives Array übergeben werden, dass entsprechende Optionen enthält:
Optionen des HTML-Renderers
<?php
require_once "Text/Highlighter.php";
require_once "Text/Highlighter/Renderer/Html.php";
$renderer = new Text_Highlighter_Renderer_Html(array("numbers" => HL_NUMBERS_IL, "tabsize" => 4));
$hlJava =& Text_Highlighter::factory("JAVA");
$hlJava->setRenderer($renderer);
echo $hlJava->highlight('class JavaProgram {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}');
?>
Das Beispiel setzt zwei Optionen: Die erste bewirkt, dass die Ausgabe Zeilennummern enthält, diese werden über das <ol />-HTML-Tag erzeugt. Die zweite Option definiert, wie viele Leerzeichen für Tabulatoren verwendet werden sollen.
Folgende Optionen werden derzeit unterstützt:
Name | Beschreibung | Unterstützt vom HTML-Renderer | Unterstützt vom Konsolen-Renderer | Hinweise |
---|---|---|---|---|
numbers | Art der Zeilennummerierung | Ja | Ja | Beim Konsolen-Renderer kennt diese Option lediglich TRUE oder FALSE, um die Zeilennummerierung an- oder abzuschalten. Der HTML-Render akkzeptiert drei verschiedene Werte: bei HL_NUMBERS_LI wird das <ol />-HTML-Tag benutzt; während bei HL_NUMBERS_TABLE eine zweispaltige Tabelle verwendet wird. Die erste Spalte enthält die Zeilennummer, die zweite den Code. Wird die Option auf FALSE gesetzt wird Zeilennummerierung abgeschaltet. |
tabsize | Tabulator-Weite | Ja | Ja | |
colors | Zusätzliche Farbdefinitionen | Nein | Ja | Ein assoziatives Array mit zusätzlichen Farbangaben für farbfähige Konsolen. Der Schlüssel eines jeden Array-Eintrages ist der Name der Farbe und der entsprechende Wert muss die Escape-Sequenz beinhalten. (Zum Beispiel: \033[1;31mRed.) |