PhpToken::tokenize
(PHP 8)
PhpToken::tokenize — Разбирает заданную строку, содержащую программу на PHP, на массив объектов PhpToken
Описание
public static PhpToken::tokenize
( string
$code
, int $flags
= 0
) : array
Возвращает массив объектов PhpToken, представляющих код code
.
Список параметров
-
code
-
Исходный код на языке PHP.
-
flags
-
Допустимые флаги:
-
TOKEN_PARSE
- допускает возможность использовать зарезервированные слова в определенных контекстах.
-
Возвращаемые значения
Массив токенов PHP в виде объектов класса PhpToken или его потомков. Этот метод возвращает static[], так что PhpToken можно свободно расширять.
Примеры
Пример #1 Пример использования PhpToken::tokenize()
<?php
$tokens = PhpToken::tokenize('<?php echo; ?>');
foreach ($tokens as $token) {
echo "Line {$token->line}: {$token->getTokenName()} ('{$token->text}')", PHP_EOL;
}
Результат выполнения данных примеров:
Line 1: T_OPEN_TAG ('<?php ') Line 1: T_ECHO ('echo') Line 1: ; (';') Line 1: T_WHITESPACE (' ') Line 1: T_CLOSE_TAG ('?>')
Пример #2 Расширение PhpToken
<?php
class MyPhpToken extends PhpToken {
public function getUpperText() {
return strtoupper($this->text);
}
}
$tokens = MyPhpToken::tokenize('<?php echo; ?>');
echo "'{$tokens[0]->getUpperText()}'";
Результат выполнения данных примеров:
'<?PHP '
Смотрите также
- token_get_all() - Разбивает переданный исходный код на PHP-лексемы