2009-08-12 35 views
3

我目前使用PHP_Beautifier與類似的選項下面的命令如何修復PHP_Beautifier的空行?

-t -l "ArrayNested() IndentStyles(style=bsd) NewLines(before=T_CLASS:function:T_COMMENT,after=T_COMMENT)" 

它除了它剔除掉所有空行事實上的偉大工程格式化代碼。經過一番搜索,我發現它發佈爲自2007年開放的bug

我試圖調查codebase,但無法找到執行此操作的特定代碼。我感謝任何幫助,我可以在正確的方向獲得幫助。

回答

3

我是clbustos,PHP_Beautifier的開發者。這是最需要的功能之一,所以我期望在下一個版本中實現它。 如果你想挖掘,函數來看看PHP_Beautifier :: removeWhitespace

+0

謝謝爲筆記! – Sukumar 2010-03-26 16:50:47

+0

你是否曾經能夠這樣做? – ternaryOperator 2012-09-25 22:29:19

1

也需要這個美化,同時保留來源中的空白行。

我沒有檢查出這個腳本的最後一個版本,我已經做了骯髒的黑客(並非PHP DVPR ...):在功能註釋文件beautifier.php兩行public function removeWhitespace()

for ($i = count($this->aOut) -1 ; $i >= 0 ; $i--) { // go backwards 
      $cNow = &$this->aOut[$i]; 
      if (strlen(trim($cNow)) == 0) { // only space 
       if (!$this->addedBlankLine || ($cNow!="\r" && $cNow!="\n")) { 
         //array_pop($this->aOut); // delete it! 
         //$pop++;**** 
       } 
      } else { // we find something! 
       $cNow = rtrim($cNow); // rtrim out 
       break; 
      } 
     } 

這個hack確實保留了所有的空行,但是有一個副作用:在括號後出現一些不需要的行,並且所有的製表符都不被替換,但是對我來說比沒有空行更好...