去除PHP代碼中的空白和注釋_PHP教程

來源:互聯網
上載者:User
  PHP內建了一個php_strip_whitespace方法用於讀取php檔案並去除代碼中的空白和注釋,但不支援直接讀取內容去除空白和注釋,下面的方法則可以支援讀取字串內容,並且ThinkPHP架構內建了該方法。

  /**

  * 去除代碼中的空白和注釋

  * @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 .= "<<

  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;

  }

http://www.bkjia.com/PHPjc/742677.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/742677.htmlTechArticlePHP內建了一個php_strip_whitespace方法用於讀取php檔案並去除代碼中的空白和注釋,但不支援直接讀取內容去除空白和注釋,下面的方法則可以...

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.