텍스트 내부 탭을 바꾸자. Posted On 2008/07/08 14:24, Filed Under WEB/ExtJS

PHP 파일이나 JS 파일이나 코딩할때 레이아웃을 Tab 문자로 맞추는 편인데,
이걸 그대로 웹에 올리면 들여쓰기가 엉망이 되어버린다.
4칸으로 지정해서 쓰는 에디터랑 다르게 8칸으로 출력이 되거나 다른 문자로 치환되어 출력되니,
영 맘에 들지 않게 되는데,
그때 쓰기 위한 탭 하나를 4칸의 스페이스로 바꾸는 페이지.

http://monorain.net/project/CleanCode/

아래는 탭 제거용 함수 - tab_remove( $string )

탭을 칸에 맞게 스페이스로 변환하며,
앞부분 탭을 삭제한다.

function tab_remove( $string ) {     $aLineData   = array();     $aLineList   = explode( "\n", rtrim( $string ));     $iLineCount  = count( $aLineList );         for ( $iLoop = 0; $iLoop < $iLineCount; $iLoop++ ) {         $sLine = $aLineList[$iLoop];                 if (strlen($sLine) > 0) {             $iStart = 0;                         $bLoopBreak = true;                         while ( $bLoopBreak == true ) {                 $iStart = strpos( $sLine, "\t" );                                 if ($iStart === false) {                     $bLoopBreak = false;                 } else {                     $sSpace = str_repeat( ' ', ( 4 - ( $iStart % 4 )));                     $sLine  = substr_replace( $sLine, $sSpace , $iStart, 1 );                 }             }                         $sLTrimLine = preg_replace( "/^\s+/", '', $sLine);                         $iLTrimPos = strlen( $sLine ) - strlen( $sLTrimLine );                         if (( isset( $iEndOfSpace ) === false ) || ( $iLTrimPos < $iEndOfSpace )) {                 $iEndOfSpace = $iLTrimPos;             }                         array_push( $aLineData, $sLine );         }     }         $iLineCount  = count( $aLineData );         if ( $iEndOfSpace > 0 ) {         for ( $iLoop = 0; $iLoop < $iLineCount; $iLoop++ ) {             $aLineData[$iLoop] = substr( $aLineData[$iLoop], $iEndOfSpace );         }     }         $sReturnData = implode( "\n", $aLineData );         return $sReturnData; }

2008/07/08 14:24 2008/07/08 14:24

Total: 123323 (Today: 130, Yesterday: 188)

RSS