<?php
include_once("error.php");
/*
* 名称 : PHP去源码注释及轻度压缩数据
* 作者 : pjx
* 版本 : v 2010/02/25 v 1.0
* 说明 : 该类用于清除PHP文件(同时兼容C/C++风格注释的文件)源码的注释及去除多余空格
* 示例 :
* 实例 => $data = new REMOVE_COMMENT($file_path);
* 只去除注释 => $data->remove(),返回去掉注释后的数据,文件排版和源文件一样
* 去除注释和空格 => $data->compact(),返回去除注释和空格后的数据
* (将连续多空格压缩为一个空格,防止"var $val"情况),文件容易阅读
* 轻度压缩 => $data->compact_hightly(),返回去掉所有空白字符的数据,文件基本无法阅读
* 保存文件 => $date->save($file_name),如参数$file_name存在,则文件保存为$file_name,
* 若不存在,则保存在相同的目录下,文件名为时间符串
*
* bug : 字符串如包括多空格和"//",那么字符串会部分会删除, 整个文件结构可能会被破坏
**/
class REMOVE_COMMENT{
var $path = "";
var $file = "";
var $content = "";
var $after_content = "";
var $compact_content = "";
var $reg_comment = "!((/\*)[\s\S]*?(\*/))|(//.*)!";
var $reg_space = "![ ]+!";
var $reg_all_space = "!\s+!";
var $file_info = array();
var $alowed_type = array("php","css","c","c++","txt","html","htm","tpl");
var $save_file = "";
function __construct($path="") {
$this->load_file($path);
}
function load_file($path=""){
global $error;
$this->free();
if(!$path){
$this->halt($error[0]);
&nbs