PHP - Manual手册 - 函数参考 - Tokenizer Functions解析器代号函数

PHP - Manual手册 - 函数参考 - Tokenizer Functions解析器代号函数

Tokenizer Functions解析器代号函数

简介

The tokenizer functions provide an interface to the PHP tokenizer embedded in the Zend Engine. Using these functions you may write your own PHP source analyzing or modification tools without having to deal with the language specification at the lexical level.

See also the appendix about tokens.

需求

要编译本扩展模块无需外部库文件。

安装

Beginning with PHP 4.3.0 these functions are enabled by default. For older versions you have to configure and compile PHP with --enable-tokenizer. You can disable tokenizer support with --disable-tokenizer.

PHP 的 Windows 版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。

Note: Built-in support for tokenizer is available as of PHP 4.3.0.

预定义常量

When the extension has either been compiled into PHP or dynamically loaded at runtime, the tokens listed in 解析器代号列表 are defined as constants.

范例

Here is a simple example PHP scripts using the tokenizer that will read in a PHP file, strip all comments from the source and print the pure code only.

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;         }     } } ?>

Table of Contents

[Tokenizer Functions解析器代号函数 - 文档]

http://www.php.net/manual/zh/ref.tokenizer.php

[PHP - 官方网站]

http://www.php.net/

[PHP - 关键词]

php pdt

[PHP - 相关论坛]

http://php.board.newsmth.net/ http://bbs.pku.edu.cn/, homepage看版 http://forum.csdn.net/SList/PHP/

[PHP - 下载]

AppServ 2.5.9, http://www.appservnetwork.com/

Zend Optimizer 3.3.0a, http://www.zend.com/products/zend_optimizer

phpMyAdmin 2.11.2, http://www.phpmyadmin.net/home_page/index.php

Zend Core 2.5.0, http://www.zend.com/products/zend_core

Zend Platform 3.0.3, http://www.zend.com/products/zend_platform

PHP 5.2.5, http://www.php.net/releases/5_2_5.php

Zend Studio 5.5, http://www.zend.com/products/zend_studio

Zend Guard 5.0, http://www.zend.com/products/zend_guard

PDT Project 1.0.1M1, http://www.eclipse.org/pdt/

[PHP - Manual手册]

file_exists检查文件或目录是否存在, http://www.php.net/manual/zh/function.file-exists.php

is_file判断给定文件名是否为一个正常的文件, http://www.php.net/manual/zh/function.is-file.php  

settype设置变量的类型, http://cn.php.net/manual/zh/function.settype.php#function.settype

is_numeric检测变量是否为数字或数字字符串, http://www.php.net/manual/zh/function.is-numeric.php

ksort对数组按照键名排序, http://www.php.net/manual/zh/function.ksort.php

[PHP - Manual手册 - 下载]

http://www.php.net/download-docs.php

[PHP - Manual手册 - 语言参考 - 类型]

字符串转换为数值, http://www.php.net/manual/zh/language.types.string.php#language.types.string.conversion

[PHP - Manual手册 - 第 12 章 变量]

全局和静态变量的引用, http://www.php.net/manual/zh/language.variables.scope.php#language.variables.scope.references

[PHP - Manual手册 - 第 13 章 常量]

魔术常量, http://www.php.net/manual/zh/language.constants.predefined.php

[PHP - Manual手册 - 语言参考 - 运算符]

错误控制运算符, http://www.php.net/manual/zh/language.operators.errorcontrol.php

位运算符, http://www.php.net/manual/zh/language.operators.bitwise.php

[PHP - Manual手册 - 语言参考 - 控制结构]

foreach遍历数组, http://www.php.net/manual/zh/control-structures.foreach.php

[PHP - Manual手册 - 语言参考 - 类与对象(PHP 5)]

Object cloning对象克隆, http://www.php.net/manual/zh/language.oop5.cloning.php

Class Abstraction类抽象, http://www.php.net/manual/zh/language.oop5.abstract.php

[PHP - Manual手册 - 第20章 异常处理]

概述, http://www.php.net/manual/zh/language.exceptions.php

用异常处理php改进流程

[PHP - Manual手册 - 第21章 引用的解释]

引用返回, http://www.php.net/manual/zh/language.references.return.php

[PHP - Manual手册 - 特点 - PHP 的命令行模式]

PHP 的命令行模式, http://www.php.net/manual/zh/features.commandline.php

表 43.2. CLI 专用常量, http://www.php.net/manual/zh/features.commandline.php#id2715646

[PHP - Manual手册 - V. Array 数组函数]

计算数组的交集, http://www.php.net/manual/zh/function.array-intersect.php

array_merge合并一个或多个数组, http://www.php.net/manual/zh/function.array-merge.php

reset将数组的内部指针指向第一个单元, http://www.php.net/manual/zh/function.reset.php

[PHP - Manual手册 - XVIII. CURL, 客户端URL库函数]

概述, http://www.php.net/manual/zh/ref.curl.php

curl_setopt设置cURL传输的选项, http://www.php.net/manual/zh/function.curl-setopt.php

[PHP - Manual手册 - XXII. Date/Time 日期/时间函数]

date格式化一个本地时间/日期, http://www.php.net/manual/zh/function.date.php

[PHP - Manual手册 - XXXIII. Error Handling and Logging Functions错误处理和日志函数]

概述, http://www.php.net/manual/zh/ref.errorfunc.php

[PHP - Manual手册 - XL. Filesystem 文件系统函数]

is_uploaded_file判断文件是否是通过 HTTP POST 上传的, http://www.php.net/manual/zh/function.is-uploaded-file.php

fgetcsv从文件指针中读入一行并解析 CSV 字段, http://www.php.net/manual/zh/function.fgetcsv.php

is_dir判断给定文件名是否是一个目录, http://www.php.net/manual/zh/function.is-dir.php

[PHP - Manual手册 - XLVII. Function Handling Functions函数管理函数]

register_shutdown_function注册一个脚本结束时调用的函数, http://www.php.net/manual/zh/function.register-shutdown-function.php

[PHP - Manual手册 - XC. Miscellaneous Functions杂项函数]

sleep延迟执行, http://www.php.net/manual/zh/ref.misc.php

uniqid生成唯一ID, http://www.php.net/manual/zh/function.uniqid.php

[PHP - Manual手册 - XCVIII. MySQL 函数]

mysql_real_escape_string转义SQL语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集, http://www.php.net/manual/zh/function.mysql-real-escape-string.php

[PHP - Manual手册 - CII. Network Functions网络函数]

setcookie发送一个cookie, http://www.php.net/manual/zh/function.setcookie.php

[PHP - Manual手册 - 函数参考 - PHP Options&Information - PHP选项与信息]

extension_loaded查询是否加载指定的扩展, http://www.php.net/manual/zh/function.extension-loaded.php

dl运行时加载PHP扩展, http://www.php.net/manual/zh/function.dl.php

[PHP - Manual手册 - CXXVII. PostgreSQL 数据库函数]

pg_insert将数组插入到表中, http://www.php.net/manual/zh/index.php

[PHP - Manual手册 - CXXX. Program Execution Functions程序调用函数]

proc_open执行命令并打开用于输入输出的文件指针, http://www.php.net/manual/zh/function.proc-open.php

[PHP - Manual手册 - CXLIX. Session 会话处理函数]

session.save_path 定义了传递给存储处理器的参数, http://www.php.net/manual/zh/ref.session.php#ini.session.save-path

session.use_only_cookies指定是否在客户端仅仅使用 cookie 来存放会话 ID, http://www.php.net/manual/zh/ref.session.php#ini.session.use-only-cookies

[PHP - Manual手册 - 函数参考 - SOAP Functions - SOAP函数]

soap.wsdl_cache_enabled启用或禁用WSDL缓存功能, http://www.php.net/manual/zh/ref.soap.php#ini.soap.wsdl-cache-enabled

SOAP configuration options missing documentation文档中丢失SOAP配置选项, http://bugs.php.net/bug.php?id=38644

[PHP - Manual手册 - CLXI. String 字符串处理函数]

str_pad使用另一个字符串将一个字符串填充到指定长度, http://www.php.net/manual/zh/function.str-pad.php

strpos查找一个字符串第一次出现的位置, http://www.php.net/manual/zh/function.strpos.php

substr返回字符串中的一部分, http://www.php.net/manual/zh/function.substr.php

str_replace用替换字符串替换所有出现的搜索字符串, http://www.php.net/manual/zh/function.str-replace.php

[PHP - Manual手册 - CLXVI. Tidy Functions - Tidy函数]

概述, http://www.php.net/manual/zh/ref.tidy.php

[PHP - Manual手册 - CLXVII. Tokenizer Functions解析器代号函数]

Tokenizer Functions解析器代号函数, http://www.php.net/manual/zh/ref.tokenizer.php

token_get_all把给定源代码分解成解析器代号, http://www.php.net/manual/zh/function.token-get-all.php

[PHP - Manual手册 - CLXIX. URL 函数]

概述, http://www.php.net/manual/zh/ref.url.php

[PHP - Manual手册 - CLXX. Variable 变量函数]

serialize产生一个可存储的值的表示, http://www.php.net/manual/zh/function.serialize.php

[PHP - Manual手册 - CLXXXVII. Zip File Functions - Zip文件压缩函数]

概述, http://www.php.net/manual/zh/ref.zip.php

[PHP - Manual手册 - 附录 H. php.ini 配置选项]

register_globals 决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量, http://www.php.net/manual/zh/ini.core.php#ini.register-globals

short_open_tag决定是否允许使用PHP代码开始标志的缩写形式, http://www.php.net/manual/zh/ini.core.php#ini.short-open-tag

[PHP - Manual手册 - 附录 L. 保留字列表]

服务器变量:$_SERVER, http://www.php.net/manual/zh/reserved.variables.php#reserved.variables.server

[PHP - Manual手册 - 附录 Q. PHP 类型比较表]

表 Q.2. 用 == 进行松散比较, http://www.php.net/manual/zh/types.comparisons.php#id9240444

[PHP - 应用实例]

语法着色, php.exe -s "%1" > "%1.html"

移除SimpleXML对象中的子对象

算24点
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值