token_get_all

(PHP 4 >= 4.2.0)

token_get_all -- Split given source into PHP tokens

Description

array token_get_all ( string source)

token_get_all() parses the given source string into PHP language tokens using the Zend engine's lexical scanner. The function returns an array of token identifiers. Each individual token identifier is either a single character (i.e.: ;, ., >, !, etc...), or a two element array containing the token index in element 0, and the string content of the original token in element 1.

For a list of parser tokens, see Appendix L, or use token_name() to translate a token value into its string representation.

Example 1. token_get_all() examples

<?php
  $tokens = token_get_all('<?'); // => array(array(T_OPEN_TAG, '<?'));
  $tokens = token_get_all('<? echo; ?>'); /* => array(
                                                    array(T_OPEN_TAG,'<?'), 
                                                    array(T_ECHO, 'echo'),
                                                    ';',
                                                    array(T_CLOSE_TAG, '?>') ); */

/* Note in the following example that the string is parsed as T_INLINE_HTML
   rather than the otherwise expected T_ML_COMMENT.
   This is because no open/close tags were used in the "code" provided.
   This would be equivalent to putting a comment outside of <? ?> tags in a normal file. */
  $tokens = token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>