PHP - 分词器函数


Tokenizer 函数可以为嵌入在 Zend Engine 中的 PHP Tokenizer 提供接口。通过使用这些函数,我们可以编写自己的PHP源代码分析或修改工具,而不必处理词法级别的语言规范。

例子

<?php
   if (!defined('T_ML_COMMENT')) {
      define('T_ML_COMMENT', T_COMMENT);
   } else {
      define('T_DOC_COMMENT', T_ML_COMMENT);
   }

   $source = file_get_contents('example.php');
   $tokens = token_get_all($source);

   foreach($tokens as $token) {
      if(is_string($token)) {
         //  simple 1-character token
         echo $token;
      } else {
         //  token array
         list($id, $text) = $token;
         switch ($id) { 
            case T_COMMENT: 
            case T_ML_COMMENT: // we've defined this
            case T_DOC_COMMENT: // and this
            
			//  no action on comments
            break;

            default:
               //  anything else -> output "as is"
               echo $text;
               break;
         }
      }
   }
?>
先生编号 功能说明
1

token_get_all() 函数

此函数可以将给定源拆分为 PHP 令牌。

2

token_name() 函数

该函数可以获取给定 PHP 令牌的符号名称。

php_function_reference.htm