PHP - Funzioni Tokenizer

Le funzioni di Tokenizer possono fornire un'interfaccia al tokenizer PHP incorporato in Zend Engine. Usando queste funzioni, possiamo scrivere i nostri strumenti di analisi o modifica dei sorgenti PHP senza doversi occupare di una specifica del linguaggio a livello lessicale.

Esempio

<?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;
         }
      }
   }
?>
Suor n Descrizione della funzione
1

Funzione token_get_all ()

Questa funzione può dividere una data sorgente in token PHP.

2

token_name () Funzione

Questa funzione può ottenere il nome simbolico di un dato token PHP.