Tokenizer
PHP Manual

以下に tokenizer を用いた簡単な PHP スクリプトの例を示します。この例は、 PHP ファイルを読み込み、ソースから全てのコメントを削除し、コードのみを 出力するものです。

例1 tokenizer によるコメントの削除

<?php
/*
* T_ML_COMMENT は PHP 5 には存在しません。
* 以下の 3 行で、古いバージョンとの互換性を確保するために
* これらを定義しています。
*
* その次の 2 行では、PHP 5 にのみ存在する T_DOC_COMMENT を定義しています。
* T_ML_COMMENT が存在するかどうかで PHP 4 かどうかを判断しています。
*/
if (!defined('T_ML_COMMENT')) {
   
define('T_ML_COMMENT'T_COMMENT);
} else {
   
define('T_DOC_COMMENT'T_ML_COMMENT);
}

$source file_get_contents('example.php');
$tokens token_get_all($source);

foreach (
$tokens as $token) {
   if (
is_string($token)) {
       
// 簡単な1文字毎のトークン
       
echo $token;
   } else {
       
// トークン配列
       
list($id$text) = $token;

       switch (
$id) { 
           case 
T_COMMENT
           case 
T_ML_COMMENT// これと
           
case T_DOC_COMMENT// これを定義しました
               // コメントの場合は何もしない
               
break;

           default:
               
// それ以外の場合 -> "そのまま"出力
               
echo $text;
               break;
       }
   }
}
?>

Tokenizer
PHP Manual