token_get_all - Разбивает переданный исходный код на PHP-лексемы
Вернуться к: Функции PHP-лексера (tokenizer)
token_get_all
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
token_get_all — Разбивает переданный исходный код на PHP-лексемы
Описание
$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)