PHP - função token_get_all ()
A função token_get_all () pode dividir uma determinada fonte em tokens PHP.
Sintaxe
array token_get_all( string $source [, int $flags = 0 ] )
A função token_get_all () pode analisar uma determinada string de origem em tokens de linguagem PHP usando o scanner léxico do motor Zend. Para uma lista de tokens do analisador, podemos usar a função token_name () para traduzir um valor de token em sua representação de string.
A função token_get_all () pode retornar uma matriz de identificadores de token. Cada identificador de token individual é um único caractere (ou seja:;,.,>,! Etc ...) ou uma matriz de três elementos contendo índice de token no elemento 0, conteúdo de string de um token original no elemento 1 e linha número no elemento 2.
Exemplo 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;
}
}
?>
Exemplo-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;
}
}
?>
Exemplo-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;
}
}
?>