찾다
php教程php手册压缩php代码,删除多余空白注释,无用空格,比TP处理彻底

压缩php代码,删除多余空白注释,无用空格,比TP处理彻底
<?php <br /> /** <br>  * @Author 70(QQ781787584)<br>  *  <br>  * @link http://www.qiling.org <br>  * <br>  * @Copyright 2014-12-09 00:32:10 <br>  * <br>  */<br> header ( "Content-type: text/html; charset=utf-8" );<br> // $content = file_get_contents ( 'demo.php' );<br> $content = file_get_contents ( __FILE__ );<br> $result = token_get_all ( $content );<br> <br> // 遍历数组 使用指针<br> $string = '';<br> $space = false;<br> // print_r($result);<br> <br> while ( current ( $result ) ) {<br>     $value = current ( $result );<br>     if (is_string ( $value )) {<br>         // 去掉字符左侧的 空白<br>         if ($space) {<br>             $string = rtrim ( $string ) . $value;<br>         } else {<br>             $string .= $value;<br>         }<br>         // 去掉字符右侧的 空白 添加一个标记  如果为 True需要删除右侧的空白 如果 为 false 不需要删除右侧的空白<br>         $space = true;<br>     } else {<br>         switch ($value [0]) {<br>             // 去掉php开始标记中的空格<br>             case T_OPEN_TAG :<br>                 $string .= trim ( $value [1] ) . ' ';<br>                 //这样做了能删除各种注释下的多余空格 如果没有下边这句会造成有多余空格  如 <?php /**/,<?php // , <?php echo <br />                 //虽然我这样做了 ^_^ 但是我没想明白...<br>                 $space = true;<br>                 break;<br>             // 把空白字符全部转换为 空格<br>             case T_WHITESPACE :<br>                 if ($space == false) {<br>                     $string .= ' ';<br>                     $space = true;<br>                 }<br>                 break;<br>             // 去掉注释<br>             case T_DOC_COMMENT :<br>                 $space = true;<br>                 break;<br>             // 去掉注释<br>             case T_COMMENT :<br>                 $space = true;<br>                 break;<br>             // 判断定界符开始<br>             case T_START_HEREDOC :<br>                 $space = false;<br>                 $string .= "                 break;<br>             // 判断定界符结束<br>             case T_END_HEREDOC :<br>                 $space = true;<br>                 $string .= "S;\n";<br>                 //因为这里取到的值是不带 分号 ; 的 这里直接 跳过下个元素的处理 注:不知道会不会存在问题  测试没问题<br>                 next ( $result );<br>                 <br>                 break;<br>             default :<br>                 // 去掉某些 左右 的空白 你可以添加更多你认为两边可以删除空白的标记 目前我找到这些<br>                 $array = array (<br>                         T_CONCAT_EQUAL, // .=<br>                         T_DOUBLE_ARROW, // =><br>                         T_BOOLEAN_AND, // &&<br>                         T_BOOLEAN_OR, // ||<br>                         T_IS_EQUAL, // ==<br>                         T_IS_NOT_EQUAL, // != or <br>                         T_IS_SMALLER_OR_EQUAL, //                          T_IS_GREATER_OR_EQUAL, // >=<br>                         T_INC, // ++<br>                         T_DEC, // --<br>                         T_PLUS_EQUAL, // +=<br>                         T_MINUS_EQUAL, // -=<br>                         T_MUL_EQUAL, // *=<br>                         T_DIV_EQUAL, // /=<br>                         T_IS_IDENTICAL, // ===<br>                         T_IS_NOT_IDENTICAL, // !==<br>                         T_DOUBLE_COLON, // ::<br>                         T_PAAMAYIM_NEKUDOTAYIM, // ::<br>                         T_OBJECT_OPERATOR, // -><br>                         T_DOLLAR_OPEN_CURLY_BRACES, // ${<br>                         T_AND_EQUAL, // &=<br>                         T_MOD_EQUAL, // %=<br>                         T_XOR_EQUAL, // ^=<br>                         T_OR_EQUAL, // |=<br>                         T_SL, //                          T_SR, // >><br>                         T_SL_EQUAL, //                          T_SR_EQUAL  // >>=<br>                 );<br>                 <br>                 if (in_array ( $value [0], $array )) {<br>                     $string = rtrim ( $string ) . $value [1];<br>                     ;;;;;;;;;;; //有强迫症的可以继续删除 多余 的分号 我就不删除了<br>                 } else {<br>                     $string .= $value [1];<br>                 }<br>                 $space = in_array ( $value [0], $array );<br>                 break;<br>         }<br>     }<br>     next ( $result );<br> }<br> <br> echo $string;转载注明我的博客地址:http://www.qiling.org

AD:真正免费,域名+虚机+企业邮箱=0元

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구