PHP - Fonctions Tokenizer
Les fonctions de tokenizer peuvent fournir une interface au tokenizer PHP intégré dans Zend Engine. En utilisant ces fonctions, nous pouvons écrire nos propres outils d'analyse ou de modification de source PHP sans avoir à traiter une spécification de langage au niveau lexical.
Exemple
<?php
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)) {
// simple 1-character token
echo $token;
} else {
// token array
list($id, $text) = $token;
switch ($id) {
case T_COMMENT:
case T_ML_COMMENT: // we've defined this
case T_DOC_COMMENT: // and this
// no action on comments
break;
default:
// anything else -> output "as is"
echo $text;
break;
}
}
}
?>
Sr.Non | Description de la fonction |
---|---|
1 | Cette fonction peut diviser une source donnée en jetons PHP. |
2 | Cette fonction peut obtenir le nom symbolique d'un jeton PHP donné. |