Php/docs/tokenizer.examples

来自菜鸟教程
跳转至:导航、​搜索

范例

这里是一个简单使用 tokenizer 的PHP脚本例子,它将读取一个PHP文件,去掉代码中全部注释,然后只打印纯代码

Example #1 Strip comments with the tokenizer

<?php/** T_ML_COMMENT does not exist in PHP 5.* The following three lines define it in order to* preserve backwards compatibility.** The next two lines define the PHP 5 only T_DOC_COMMENT,* which we will mask as T_ML_COMMENT for PHP 4.*/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;       }   }}?>