token_get_all

Split given source into PHP tokens

Syntax

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

Parameters

code

The PHP source to parse.

flags

TOKEN_PARSERecognizes the ability to use reserved words in specific contexts.

Return

An array of token identifiers.

Each individual token identifier is either a single character (i.e.: ;, ., >, !, etc...) or a three element array containing: the token index in element 0, the string content of the original token in element 1, and the line number in element 2.

Examples

1 · code

<?

$code = "<?
echo 'Hello';
?>";

$return = token_get_all($code);

print_r($return);

?>
Array
(
    [0] => Array
        (
            [0] => 394
            [1] => <?
            [2] => 1
        )

    [1] => Array
        (
            [0] => 397
            [1] => 

            [2] => 1
        )

    [2] => Array
        (
            [0] => 328
            [1] => echo
            [2] => 2
        )

    [3] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 2
        )

    [4] => Array
        (
            [0] => 320
            [1] => 'Hello'
            [2] => 2
        )

    [5] => ;
    [6] => Array
        (
            [0] => 397
            [1] => 

            [2] => 2
        )

    [7] => Array
        (
            [0] => 396
            [1] => ?>
            [2] => 3
        )

)

2 · flags · 0

<?

$code = "<?
class myclass
{
    const PUBLIC = 1;
}
?>";
$flags = 0;

$return = token_get_all($code, $flags);

print_r($return);

?>
Array
(
    [0] => Array
        (
            [0] => 394
            [1] => <?
            [2] => 1
        )

    [1] => Array
        (
            [0] => 397
            [1] => 

            [2] => 1
        )

    [2] => Array
        (
            [0] => 369
            [1] => class
            [2] => 2
        )

    [3] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 2
        )

    [4] => Array
        (
            [0] => 313
            [1] => myclass
            [2] => 2
        )

    [5] => Array
        (
            [0] => 397
            [1] => 

            [2] => 2
        )

    [6] => {
    [7] => Array
        (
            [0] => 397
            [1] => 
    
            [2] => 3
        )

    [8] => Array
        (
            [0] => 349
            [1] => const
            [2] => 4
        )

    [9] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 4
        )

    [10] => Array
        (
            [0] => 362
            [1] => PUBLIC
            [2] => 4
        )

    [11] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 4
        )

    [12] => =
    [13] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 4
        )

    [14] => Array
        (
            [0] => 311
            [1] => 1
            [2] => 4
        )

    [15] => ;
    [16] => Array
        (
            [0] => 397
            [1] => 

            [2] => 4
        )

    [17] => }
    [18] => Array
        (
            [0] => 397
            [1] => 

            [2] => 5
        )

    [19] => Array
        (
            [0] => 396
            [1] => ?>
            [2] => 6
        )

)

3 · flags · TOKEN_PARSE

<?

$code = "<?
class myclass
{
    const PUBLIC = 1;
}
?>";
$flags = TOKEN_PARSE;

$return = token_get_all($code, $flags);

print_r($return);

?>
Array
(
    [0] => Array
        (
            [0] => 394
            [1] => <?
            [2] => 1
        )

    [1] => Array
        (
            [0] => 397
            [1] => 

            [2] => 1
        )

    [2] => Array
        (
            [0] => 369
            [1] => class
            [2] => 2
        )

    [3] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 2
        )

    [4] => Array
        (
            [0] => 313
            [1] => myclass
            [2] => 2
        )

    [5] => Array
        (
            [0] => 397
            [1] => 

            [2] => 2
        )

    [6] => {
    [7] => Array
        (
            [0] => 397
            [1] => 
    
            [2] => 3
        )

    [8] => Array
        (
            [0] => 349
            [1] => const
            [2] => 4
        )

    [9] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 4
        )

    [10] => Array
        (
            [0] => 313
            [1] => PUBLIC
            [2] => 4
        )

    [11] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 4
        )

    [12] => =
    [13] => Array
        (
            [0] => 397
            [1] =>  
            [2] => 4
        )

    [14] => Array
        (
            [0] => 311
            [1] => 1
            [2] => 4
        )

    [15] => ;
    [16] => Array
        (
            [0] => 397
            [1] => 

            [2] => 4
        )

    [17] => }
    [18] => Array
        (
            [0] => 397
            [1] => 

            [2] => 5
        )

    [19] => Array
        (
            [0] => 396
            [1] => ?>
            [2] => 6
        )

)

4 · 1

<?

$code = "<?
class myclass
{
    const PUBLIC = 1;
}
?>";
$flags = 0;

$return = token_get_all($code, $flags);

foreach ($return as $value)
{
    if (is_array($value))
    {
        echo $value[2] . ": " . token_name($value[0]) . ": " . $value[1] . PHP_EOL;
    }
    else
    {
        echo $value . PHP_EOL;
    }
}

?>
1: T_OPEN_TAG: <?
1: T_WHITESPACE: 

2: T_CLASS: class
2: T_WHITESPACE:  
2: T_STRING: myclass
2: T_WHITESPACE: 

{
3: T_WHITESPACE: 
    
4: T_CONST: const
4: T_WHITESPACE:  
4: T_PUBLIC: PUBLIC
4: T_WHITESPACE:  
=
4: T_WHITESPACE:  
4: T_LNUMBER: 1
;
4: T_WHITESPACE: 

}
5: T_WHITESPACE: 

6: T_CLOSE_TAG: ?>

5 · 2

<?

$code = "<?
class myclass
{
    const PUBLIC = 1;
}
?>";
$flags = TOKEN_PARSE;

$return = token_get_all($code, $flags);

foreach ($return as $value)
{
    if (is_array($value))
    {
        echo $value[2] . ": " . token_name($value[0]) . ": " . $value[1] . PHP_EOL;
    }
    else
    {
        echo $value . PHP_EOL;
    }
}

?>
1: T_OPEN_TAG: <?
1: T_WHITESPACE: 

2: T_CLASS: class
2: T_WHITESPACE:  
2: T_STRING: myclass
2: T_WHITESPACE: 

{
3: T_WHITESPACE: 
    
4: T_CONST: const
4: T_WHITESPACE:  
4: T_STRING: PUBLIC
4: T_WHITESPACE:  
=
4: T_WHITESPACE:  
4: T_LNUMBER: 1
;
4: T_WHITESPACE: 

}
5: T_WHITESPACE: 

6: T_CLOSE_TAG: ?>
HomeMenu