PHP - Funzione token_get_all ()

La funzione token_get_all () può dividere una data sorgente in token PHP.

Sintassi

array token_get_all( string $source [, int $flags = 0 ] )

La funzione token_get_all () può analizzare una determinata stringa sorgente in token del linguaggio PHP utilizzando lo scanner lessicale del motore Zend. Per un elenco di token parser, possiamo utilizzare la funzione token_name () per tradurre un valore di token nella sua rappresentazione di stringa.

La funzione token_get_all () può restituire un array di identificatori di token. Ogni singolo identificatore di token può essere un singolo carattere (ad esempio:;,.,>,! Ecc ...) o un array di tre elementi contenente l'indice del token nell'elemento 0, il contenuto della stringa di un token originale nell'elemento 1 e la riga numero nell'elemento 2.

Esempio 1

<?php
   $tokens = token_get_all("<?php echo; ?>");

   foreach($tokens as $token) {
      if(is_array($token)) {
         echo "Line {$token[2]}: ", token_name($token[0]), " ('{$token[1]}')", PHP_EOL;
      }
   }
?>

Esempio-2

<?php
   $tokens = token_get_all("/* comment */");

   foreach($tokens as $token) {
      if(is_array($token)) {
         echo "Line {$token[2]}: ", token_name($token[0]), " ('{$token[1]}')", PHP_EOL;
      }
   }
?>

Esempio-3

<?php
   $source = <<<"code"
   <?php
   class A {
      const PUBLIC = 1;
   }
   code;

   $tokens = token_get_all($source, TOKEN_PARSE);

   foreach($tokens as $token) {
      if(is_array($token)) {
         echo token_name($token[0]) , PHP_EOL;
      }
   }
?>