栖迩网首页产品报价家电社区栖迩晓得>>驱动下载微软技术更多

热点推荐
主页>社区>IT 技术与微软技术>编程开发>PHP

PHPTokenizer学习笔记_1


原文出处:中国站长站  2009/6/30 21:46:22 阅读 108 次


非续读浏览 | 发布资讯 | 评论 | 置顶 | 打印

简述

在某个项目中需要分析 PHP 代码,分离出对应的函数调用(以及源代码对应的位置)。虽然这使用正则也可以实现,但无论从效率还是代码复杂度方面考虑,这都不是最优的方式。

查询了 PHP 手册,发现其实 PHP 已经内置解析器的接口,那就是 PHP Tokenizer,这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、准确的分析出 PHP 源代码的组成。

实例

官方站点对 Tokenizer 的文档很少,不过这不影响我们理解它。Tokenizer 组件仅仅包含两个函数:token_get_all 以及 token_name,它们分别用于分析 PHP 代码以及获取代码对应的标识符名称。

下面是个简单的实例,说明如何使用这两个函数:

以下为引用的内容:

$code = '<?php echo "string1"."string2"; ?>';
$tokens = token_get_all($code);
foreach ($tokens as $token) {
    if (is_array($token)) {
        // 行号、标识符字面量、对应内容
        printf("%d - %s\t%s\n", $token[2], token_name($token[0]), $token[1]);
    }
}

对应的输出为

以下为引用的内容:


3 页  [1] [2] [3]



相关阅读:
• AppServ安装配置Apache+PHP+Mysql环境 (2009/10/30 19:08:50)
• PHP教程:UCenter的MVC架构 (2009/10/30 19:08:49)
• PHP教程:implode函数应用 (2009/10/30 19:08:47)
• php字符串处理函数讲解 (2009/10/30 19:08:46)
• PHP技巧代码:apache防盗链两例 (2009/10/30 19:08:45)
• PHP+AJAX教程(8):AJAXRSS阅读器 (2009/10/29 18:58:38)
• PHPXMLDOM (2009/10/28 19:10:09)
• PHP教程:缓存技术应用_2 (2009/10/28 19:10:08)
• PHP教程:缓存技术应用 (2009/10/28 19:10:05)
• PHP匹配变音使404页面更加智能化 (2009/10/28 19:10:01)
• PHP高级教程(1):PHP日期Date() (2009/10/27 20:43:48)
• PHP教程:preg_replace_callback()函数 (2009/10/27 20:43:47)
• Phpnow服务器软件集成套件的安装问题和解决方法 (2009/10/27 20:43:47)
• PHP教程:PHP开发网站代码编写规范_2 (2009/10/27 20:43:45)
• PHP教程:PHP开发网站代码编写规范 (2009/10/27 20:43:44)
• PHP高级教程(6):PHPSessions (2009/10/27 20:43:43)
• 你可能不知道的关于PHP的10件事 (2009/10/27 20:43:42)
• Apache安装配置和虚拟主机配置教程 (2009/10/26 18:55:10)
• PHP教程:研究批量删除数据的方法 (2009/10/26 18:55:09)
• PHP基础教程(13):PHP$_GET (2009/10/26 18:55:09)

温馨提示


特别声明

• Phontol.com 和网页作者无关,不对网页的内容负责。
• 非本站原创内容和本站转载内容,其版权所有权属于原版权持有人所有。
• 本站转载的部分内容是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。
• 如有任何异议,请参见版权声明/免责声明部分。

 
最新热点资讯排行

• 盛大百度挤入电子书市场
• 美国提出10年内基本普及百兆宽带互联网蓝图
• .com域名诞生25周年:每月新增66.8万个
• 宏达电向Verizon提供CDMA版NexusOne
• 植入CMMB芯片个人电脑预计6月在重庆上市
• TD-SCDMA网络让“无线城市”梦想成真
• ipone和android手机或遭重病毒
• 光速WiFi三年内可商用
• 操盘指南:3月16日大陆内存走势报告
• 苹果升级Safari浏览器增加一系列安全补丁
• 微软Excel补丁出错导致英文界面变中文
• 微软将为Symbian测试版提供银光软件
• 诺基亚:Symbian3操作系统拥有多点触控功能
• 欧盟12项行动保障物联网发展
• 三网融合取得新突破CMMB探索与PC终端融合
• ICANN掌门贝克斯托姆煽动性言论遭谴责





Phontol简介 | 广告服务 | 联系我们 | 招聘(月) | 合作媒体 | 意见反馈 | 使用条款 | 隐私权声明 | 版权声明 | 站点地图
欢迎您 反馈留言 批评指正
Copyright © Phontol. All rights reserved. 京ICP备07004242号