Text_Highlighter クラスには シンタックスハイライティングを行うために必要な機能がすべて含まれています。 ただし、各種フォーマットに対する強調ルールは除きます。 これらのルールは Text_Highlighter のサブクラスで定義されていますが、 このサブクラスのインスタンスを直接作成する必要はありません。 オブジェクト指向なファクトリパターンを用いて、 フォーマットに応じたオブジェクトを作成します。
SQL クエリのハイライティング
<?php
require_once "Text/Highlighter.php";
$hlSQL =& Text_Highlighter::factory("SQL");
echo $hlSQL->highlight("SELECT * FROM some_table WHERE id = 12");
?>
このコードは、Text_Highlighter::highlight
に渡された SQL の SELECT クエリの構文を強調した
HTML を作成します。出力をカスタマイズし、
例えばコンソール用に適した形式とすることも可能です。この方法については
出力のカスタマイズ で説明します。
その他のフォーマットについてのシンタックスハイライティングを行うには
Text_Highlighter::factory の引数の値 SQL
を以下のいずれかに変更する必要があります。
ABAP、CPP、CSS、DIFF、
DTD、HTML、JAVA、
JAVASCRIPT、MYSQL、
PERL、PHP、
PYTHON、RUBY、SQL、
あるいは XML。