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

Fonction token_get_all ()

Cette fonction peut diviser une source donnée en jetons PHP.

2

Fonction token_name ()

Cette fonction peut obtenir le nom symbolique d'un jeton PHP donné.