您的位置:首页 > 编程语言 > PHP开发

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

2007-12-30 21:48 1396 查看

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

TokenizerFunctions[b]解析器代号函数[/b]

简介

ThetokenizerfunctionsprovideaninterfacetothePHPtokenizerembeddedintheZendEngine.UsingthesefunctionsyoumaywriteyourownPHPsourceanalyzingormodificationtoolswithouthavingtodealwiththelanguagespecificationatthelexicallevel.
Seealsotheappendixabouttokens.

需求

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

安装

BeginningwithPHP4.3.0thesefunctionsareenabledbydefault.ForolderversionsyouhavetoconfigureandcompilePHPwith--enable-tokenizer.Youcandisabletokenizersupportwith--disable-tokenizer.
PHP的Windows版本已经内置该扩展模块的支持。无需加载任何附加扩展库即可使用这些函数。

Note:Built-insupportfortokenizerisavailableasofPHP4.3.0.



预定义常量

WhentheextensionhaseitherbeencompiledintoPHPordynamicallyloadedatruntime,thetokenslistedin解析器代号列表aredefinedasconstants.

范例

HereisasimpleexamplePHPscriptsusingthetokenizerthatwillreadinaPHPfile,stripallcommentsfromthesourceandprintthepurecodeonly.

Example#1Stripcommentswiththetokenizer

<?php

/*

*T_ML_COMMENTdoesnotexistinPHP5.

*Thefollowingthreelinesdefineitinorderto

*preservebackwardscompatibility.

*

*ThenexttwolinesdefinethePHP5onlyT_DOC_COMMENT,

*whichwewillmaskasT_ML_COMMENTforPHP4.

*/

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($tokensas$token){

if(is_string($token)){

//simple1-charactertoken

echo$token;

}else{

//tokenarray

list($id,$text)=$token;


switch($id){

caseT_COMMENT:

caseT_ML_COMMENT://we'vedefinedthis

caseT_DOC_COMMENT://andthis

//noactiononcomments

break;


default:

//anythingelse->output"asis"

echo$text;

break;

}

}

}

?>


TableofContents

token_get_all—SplitgivensourceintoPHPtokens

token_name—GetthesymbolicnameofagivenPHPtoken

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

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-下载]

AppServ2.5.9,'target='_blank'>http://www.appservnetwork.com/
ZendOptimizer3.3.0a,'target='_blank'>http://www.zend.com/products/zend_optimizer



phpMyAdmin2.11.2,'target='_blank'>http://www.phpmyadmin.net/home_page/index.php

ZendCore2.5.0,'target='_blank'>http://www.zend.com/products/zend_core

ZendPlatform3.0.3,'target='_blank'>http://www.zend.com/products/zend_platform

PHP5.2.5,'target='_blank'>http://www.php.net/releases/5_2_5.php

ZendStudio5.5,'target='_blank'>http://www.zend.com/products/zend_studio

ZendGuard5.0,'target='_blank'>http://www.zend.com/products/zend_guard
PDTProject1.0.1M1,'target='_blank'>http://www.eclipse.org/pdt/



[PHP-Manual手册]

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



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


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

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

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

[PHP-Manual手册-下载]

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

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

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

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

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

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

魔术常量,'target='_blank'>http://www.php.net/manual/zh/language.constants.predefined.php

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

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



位运算符,'target='_blank'>http://www.php.net/manual/zh/language.operators.bitwise.php



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

foreach遍历数组,'target='_blank'>http://www.php.net/manual/zh/control-structures.foreach.php

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

Objectcloning对象克隆,'target='_blank'>http://www.php.net/manual/zh/language.oop5.cloning.php
ClassAbstraction类抽象,'target='_blank'>http://www.php.net/manual/zh/language.oop5.abstract.php

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

概述,'target='_blank'>http://www.php.net/manual/zh/language.exceptions.php



用异常处理php改进流程



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

引用返回,'target='_blank'>http://www.php.net/manual/zh/language.references.return.php

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

PHP的命令行模式,'target='_blank'>http://www.php.net/manual/zh/features.commandline.php

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

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

计算数组的交集,'target='_blank'>http://www.php.net/manual/zh/function.array-intersect.php
array_merge合并一个或多个数组,'target='_blank'>http://www.php.net/manual/zh/function.array-merge.php



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



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

概述,'target='_blank'>http://www.php.net/manual/zh/ref.curl.php

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

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

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

[PHP-Manual手册-XXXIII.ErrorHandlingandLoggingFunctions错误处理和日志函数]

概述,'target='_blank'>http://www.php.net/manual/zh/ref.errorfunc.php

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

is_uploaded_file判断文件是否是通过HTTPPOST上传的,'target='_blank'>http://www.php.net/manual/zh/function.is-uploaded-file.php



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

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





[PHP-Manual手册-XLVII.FunctionHandlingFunctions函数管理函数]

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

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

sleep延迟执行,'target='_blank'>http://www.php.net/manual/zh/ref.misc.php

uniqid生成唯一ID,'target='_blank'>http://www.php.net/manual/zh/function.uniqid.php

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

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

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

setcookie发送一个cookie,'target='_blank'>http://www.php.net/manual/zh/function.setcookie.php

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

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

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



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

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

[PHP-Manual手册-CXXX.ProgramExecutionFunctions程序调用函数]

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

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

session.save_path定义了传递给存储处理器的参数,'target='_blank'>http://www.php.net/manual/zh/ref.session.php#ini.session.save-path
session.use_only_cookies指定是否在客户端仅仅使用cookie来存放会话ID,'target='_blank'>http://www.php.net/manual/zh/ref.session.php#ini.session.use-only-cookies

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

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

SOAPconfigurationoptionsmissingdocumentation文档中丢失SOAP配置选项,'target='_blank'>http://bugs.php.net/bug.php?id=38644





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

str_pad使用另一个字符串将一个字符串填充到指定长度,'target='_blank'>http://www.php.net/manual/zh/function.str-pad.php
strpos查找一个字符串第一次出现的位置,'target='_blank'>http://www.php.net/manual/zh/function.strpos.php

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



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





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

概述,'target='_blank'>http://www.php.net/manual/zh/ref.tidy.php

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

TokenizerFunctions解析器代号函数,'target='_blank'>http://www.php.net/manual/zh/ref.tokenizer.php

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

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

概述,'target='_blank'>http://www.php.net/manual/zh/ref.url.php

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

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

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

概述,'target='_blank'>http://www.php.net/manual/zh/ref.zip.php

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

register_globals决定是否将EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量,'target='_blank'>http://www.php.net/manual/zh/ini.core.php#ini.register-globals
short_open_tag决定是否允许使用PHP代码开始标志的缩写形式,'target='_blank'>http://www.php.net/manual/zh/ini.core.php#ini.short-open-tag

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

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

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

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

[PHP-应用实例]

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






移除SimpleXML对象中的子对象


算24点
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐