Changeset 588
- Timestamp:
- 09/24/07 16:03:59 (1 year ago)
- Files:
-
- trunk/build/lib/jManifest.class.php (modified) (2 diffs)
- trunk/build/lib/jManifest.class.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/build/lib/jManifest.class.php
r313 r588 95 95 $result = ''; 96 96 $firstcomment= true; 97 $currentWhistpace =''; 98 $firstPHPfound = false; 97 99 foreach ($tokens as $token) { 98 100 if (is_string($token)) { 101 if(in_array($token, array('(',')','{','}')) && strpos($currentWhitespace, "\n") === false) { 102 $currentWhitespace=''; 103 } 104 if($currentWhitespace != '') { 105 $s = self::strip_ws($currentWhitespace); 106 $result.=$s; 107 $currentWhitespace =''; 108 } 99 109 $result.=$token; 100 110 } else { 101 111 switch ($token[0]) { 112 case T_OPEN_TAG: 113 if($currentWhitespace != '') { 114 $s = self::strip_ws($currentWhitespace); 115 $result.=$s; 116 $currentWhitespace =''; 117 } 118 $result.=$token[1]; 119 if(!$firstPHPfound) { 120 $result.= "/* comments & extra-whitespaces have been removed by jBuildTools*/\n"; 121 $firstPHPfound=true; 122 } 123 break; 102 124 case T_COMMENT: 125 $currentWhitespace.="\n"; 103 126 break; 104 127 case T_DOC_COMMENT: 105 128 // on garde le premier commentaire documentaire 106 129 if($firstcomment){ 130 if($currentWhitespace != '') { 131 $s = self::strip_ws($currentWhitespace); 132 $result.=$s; 133 $currentWhitespace =''; 134 } 107 135 $result.=$token[1]; 108 136 $firstcomment = false; 109 137 } 110 138 break; 139 case T_WHITESPACE: 140 $currentWhitespace.=$token[1]; 141 break; 111 142 default: 143 if($currentWhitespace != '') { 144 $s = self::strip_ws($currentWhitespace); 145 $result.=$s; 146 $currentWhitespace =''; 147 } 112 148 $result.=$token[1]; 113 149 break; … … 116 152 } 117 153 return $result; 154 } 118 155 156 static protected function strip_ws($s){ 157 $result = $s; 158 $result = str_replace("\n\r","\n",$result); // removed \r 159 $result = str_replace("\r","\n",$result); // removed standalone \r 160 $result = preg_replace("(\n+)", "\n", $result); 161 $result = str_replace("\t"," ",$result); 162 $result = str_replace(" ","\t",$result); 163 $result = preg_replace("/^([\n \t]+)\n([ \t]*)$/", "\n$2", $result); 164 return $result; 119 165 } 120 166 } trunk/build/lib/jManifest.class.php
r313 r588 95 95 $result = ''; 96 96 $firstcomment= true; 97 $currentWhistpace =''; 98 $firstPHPfound = false; 97 99 foreach ($tokens as $token) { 98 100 if (is_string($token)) { 101 if(in_array($token, array('(',')','{','}')) && strpos($currentWhitespace, "\n") === false) { 102 $currentWhitespace=''; 103 } 104 if($currentWhitespace != '') { 105 $s = self::strip_ws($currentWhitespace); 106 $result.=$s; 107 $currentWhitespace =''; 108 } 99 109 $result.=$token; 100 110 } else { 101 111 switch ($token[0]) { 112 case T_OPEN_TAG: 113 if($currentWhitespace != '') { 114 $s = self::strip_ws($currentWhitespace); 115 $result.=$s; 116 $currentWhitespace =''; 117 } 118 $result.=$token[1]; 119 if(!$firstPHPfound) { 120 $result.= "/* comments & extra-whitespaces have been removed by jBuildTools*/\n"; 121 $firstPHPfound=true; 122 } 123 break; 102 124 case T_COMMENT: 125 $currentWhitespace.="\n"; 103 126 break; 104 127 case T_DOC_COMMENT: 105 128 // on garde le premier commentaire documentaire 106 129 if($firstcomment){ 130 if($currentWhitespace != '') { 131 $s = self::strip_ws($currentWhitespace); 132 $result.=$s; 133 $currentWhitespace =''; 134 } 107 135 $result.=$token[1]; 108 136 $firstcomment = false; 109 137 } 110 138 break; 139 case T_WHITESPACE: 140 $currentWhitespace.=$token[1]; 141 break; 111 142 default: 143 if($currentWhitespace != '') { 144 $s = self::strip_ws($currentWhitespace); 145 $result.=$s; 146 $currentWhitespace =''; 147 } 112 148 $result.=$token[1]; 113 149 break; … … 116 152 } 117 153 return $result; 154 } 118 155 156 static protected function strip_ws($s){ 157 $result = $s; 158 $result = str_replace("\n\r","\n",$result); // removed \r 159 $result = str_replace("\r","\n",$result); // removed standalone \r 160 $result = preg_replace("(\n+)", "\n", $result); 161 $result = str_replace("\t"," ",$result); 162 $result = str_replace(" ","\t",$result); 163 $result = preg_replace("/^([\n \t]+)\n([ \t]*)$/", "\n$2", $result); 164 return $result; 119 165 } 120 166 }
