PEAR-Handbuch | ||
---|---|---|
Zurück | Kapitel 59. Text | Nach vorne |
Bietet Methoden um Syntax-Hervorhebung für verschiedene Dateiformate durchzuführen.
Mit dem Package Text_Highlighter können von verschiedene Dateiformate Syntax-Hervorhebungen erzeugt werden.
Derzeit werden folgende Formate unterstützt
C++
CSS
Ausgabe des diff(1)-Programmes
DTD
HTML
Java
Javascript
MySQL
Perl
PHP
Python
Ruby
SQL
XML
Die Klasse Text_Highlighter enthält alle notwendigen Funktionen um Text hervorzuheben mit Ausnahme der tatsächlichen Hervorhebungs-Regeln für die verschiedenen Formate. Diese Regeln sind in Unterklassen von Text_Highlighter definiert. Die Unterklassen werden nicht direkt vom Anwender aufgerufen, stattdessen wird über eine Factory-Methode die entsprechende Klasse aufgrund des gewählten Formates herangezogen:
Beispiel 59-5. Hervorhebung für eine SQL-Abfrage
Im Beispiel wird eine hervorgehobene Version der SQL-Abfrage erzeugt, die der Methode Text_Highlighter::highlight übergeben wird. Die Ausgabe enthält HTML-Code zur farblichen Auszeichnung der Bestandteile. Die Ausgabe kann an eigene Bedürfnisse angepasst werden, z.B. für die Ausgabe auf der Kommandozeile. Näheres dazu im Abschnitt namens Anpassung der Ausgabe. |
Für andere Formate muss der SQL-Parameter in der Methode Text_Highlighter::factory durch einen entsprechend anderen ersetzt werden: CPP, CSS, DIFF, DTD, HTML, JAVA, JAVASCRIPT, MYSQL, PERL, PHP, PYTHON, RUBY, SQL, oder XML.
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:
Beispiel 59-6. Den Renderer für die Konsole verwenden
|
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:
Beispiel 59-7. Optionen des HTML-Renderers
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:
Tabelle 59-1. Mögliche Renderer-Optionen
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.) |
Zurück | Zum Anfang | Nach vorne |
Text_CAPTCHA_Numeral | Nach oben | Text_LanguageDetect |