Функции PHP-лексера (tokenizer)
PHP Manual

token_get_all

(PHP 4 >= 4.2.0, PHP 5)

token_get_allРазбивает переданный исходный код на PHP-лексемы

Описание

array token_get_all ( string $source )

Функция token_get_all() разбирает переданную строку source в языковые лексемы PHP используя лексический сканер Zend Engine.

Список лексем смотрите в Список меток (tokens) парсера, или используйте token_name() для перевода значения лексемы в строковое представление.

Список параметров

source

Исходный код PHP для разбора.

Возвращаемые значения

Массив идентификаторов лексем. Каждый индивидуальный идентификатор лексемы это или одиночный символ (например, ;, ., >, !, другие...), или трехэлементный массив, содержащий индекс лексемы в нулевом элементе, строку с оригинальным содежимым лексемы в первом элементе и номером строки во втором элементе.

Примеры

Пример #1 Пример использования token_get_all()

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

/* Обратите внимание, в приведенном примере строка разбирается как T_INLINE_HTML
   вместо ожидаемого T_COMMENT (T_ML_COMMENT в PHP <5).
   Это происходит потому, что не используется открывающего/закрывающего тегов в "коде".
   Это будет эквиалентно помещению комментариев вне тегов <?php ?> в нормальном файле. */
$tokens token_get_all('/* comment */'); // => array(array(T_INLINE_HTML, '/* comment */'));
?>

Список изменений

Версия Описание
5.2.2 Номера строк возвращаются в элементе 2.


Функции PHP-лексера (tokenizer)
PHP Manual