Voici un exemple simple de script PHP utilisant le tokenizer ; il 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;
}
}
}
?>