Tokenizer
PHP Manual

Exemples

Voici un exemple simple de scripts PHP utilisant le tokenizer qui lit un fichier PHP, supprime tous les commentaires de la source et affiche uniquement le code.

Exemple #1 Supprime les commentaires avec le tokenizer

<?php
/*
* T_ML_COMMENT n'existe pas en PHP 5.
* Les lignes suivantes le définisse afin de rendre
* compatible notre code.
*
* Ensuite, les 2 lignes définissent T_DOC_COMMENT uniquement pour PHP 5,
* que nous masquons en T_ML_COMMENT pour 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)) {
       
// un simple caractère token
       
echo $token;
   } else {
       
// tableau token
       
list($id$text) = $token;

       switch (
$id) { 
           case 
T_COMMENT
           case 
T_ML_COMMENT// nous avons défini ceci
           
case T_DOC_COMMENT// et ceci
               // Aucune action sur les commentaires
               
break;

           default:
               
// rien d'autre -> affiche "as is"
               
echo $text;
               break;
       }
   }
}
?>

Tokenizer
PHP Manual