PhpToken::tokenize
(PHP 8)
PhpToken::tokenize — Splits given source into PHP tokens, represented by PhpToken objects.
说明
public static PhpToken::tokenize(string
$code
, int $flags
= 0): array
Returns an array of PhpToken objects representing given code
.
参数
-
code
-
The PHP source to parse.
-
flags
-
Valid flags:
-
TOKEN_PARSE
- Recognises the ability to use reserved words in specific contexts.
-
返回值
An array of PHP tokens represented by instances of PhpToken or its descendants. This method returns static[] so that PhpToken can be seamlessly extended.
范例
示例 #1 PhpToken::tokenize() example
<?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 Extending 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 标记进行分割

User Contributed Notes
There are no user contributed notes for this page.