去除php注释和去除空格函数分享
2015-01-24信息快讯网
这篇文章主要介绍了去除php注释和去除空格函数,php5中已提供相同功能的函数,这里只为学习PHP,需要的朋友可以参考下
虽然php5中已有php_strip_whitespace方法可以返回删除注释和空格后的PHP源码的功能,为了学习,这里为大家提供一个自己的方法,也可以去除代码中的空白和注释,代码如下:
/**
* 去除代码中的空白和注释
* @param string $content 代码内容
* @return string
*/
function strip_whitespace($content) {
$stripStr = '';
//分析php源码
$tokens = token_get_all($content);
$last_space = false;
for ($i = 0, $j = count($tokens); $i < $j; $i++) {
if (is_string($tokens[$i])) {
$last_space = false;
$stripStr .= $tokens[$i];
} else {
switch ($tokens[$i][0]) {
//过滤各种PHP注释
case T_COMMENT:
case T_DOC_COMMENT:
break;
//过滤空格
case T_WHITESPACE:
if (!$last_space) {
$stripStr .= ' ';
$last_space = true;
}
break;
case T_START_HEREDOC:
$stripStr .= "<<<THINK\n";
break;
case T_END_HEREDOC:
$stripStr .= "THINK;\n";
for($k = $i+1; $k < $j; $k++) {
if(is_string($tokens[$k]) && $tokens[$k] == ';') {
$i = $k;
break;
} else if($tokens[$k][0] == T_CLOSE_TAG) {
break;
}
}
break;
default:
$last_space = false;
$stripStr .= $tokens[$i][1];
}
}
}
return $stripStr;
}
又一个PHP实现的冒泡排序算法分享
PHP中几个可以提高运行效率的代码写法、技巧分享
个人写的PHP验证码生成类分享
PHP中使用sleep造成mysql读取失败的案例和解决方法
ThinkPHP登录功能的实现方法
PHP date()函数警告: It is not safe to rely on the system解决方法
PHP中exec函数和shell_exec函数的区别
PHP基于数组实现的分页函数实例
PHP函数eval()介绍和使用示例
PHP函数http_build_query使用详解
php中替换字符串中的空格为逗号','的方法
PHP批量检测并去除文件BOM头代码实例
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
php去除换行(回车换行)的三种方法
php统计时间和内存使用情况示例分享
支持中文和其他编码的php截取字符串函数分享(截取中文字符串)
使用PHP导出Redis数据到另一个Redis中的代码
PHP的变量类型和作用域详解
PHP四大安全策略
PHP中4个加速、缓存扩展的区别和选用建议
PHP输出缓存ob系列函数详解
php初始化对象和析构函数的简单实例
PHP中isset()和unset()函数的用法小结
php中3种方法删除字符串中间的空格
PHP文件大小格式化函数合集
PHP strip_tags()去除HTML、XML以及PHP的标签介绍
php去除字符串换行符示例分享
discuz加密解密函数使用方法和中文注释
php实现图形显示Ip地址的代码及注释
修改apache配置文件去除thinkphp url中的index.php
php去除HTML标签实例
ajax返回值中有回车换行、空格的解决方法分享
Zend studio文件注释模板设置方法
PHP在引号前面添加反斜杠(PHP去除反斜杠)
PHP文件去掉PHP注释空格的函数分析(PHP代码压缩)