사이트 내 전체검색
PHP
[php] HTML 하드코더
로빈아빠
https://cmd.kr/php/519 URL이 복사되었습니다.

본문

HTML 하드코더

대부분의 웹프로그래머들이 그렇듯이...
디자이너에게서 받은 나모나 드림위버의 결과물을 보고 있노라면...
한숨부터 나오실 겁니다...

문제 되는 부분은 다음과 같은 경우겠죠...

...<tr><td><table ...

요런건 다음에 나올 테이블 태그가 뒤에 붙어 있어서 웬만해선 찾기가 쉽지 않습니다.
두번째 경우는 다음과 같은 경우 입니다.

<tr> <td> <table <tr> ...

물론 이런 유형의 코드를 좋아 하시는 분들도 계실지 모르지만...
제 경우에는 이런 코드를 모조리 아래와 같이 바꾸어 작업에 들어 갑니다.

<table> <tr> <td> <table> <tr> <td> <table> <tr> <td></td> </tr> </table> </td> </tr> </td> </tr> </table>
아래 소스는 위와 같이 바꾸어 주는 소스 입니다.
그 외의 작업으로는 폼태그의 위치와 입력폼의 위치를 주석으로 표시해 주고...
table이나 form과 같은 태그를 대문자로 변환 할 수 있습니다.

/*

제작자이름 : navyism
제작자메일 : navyism@chol.com
관련사이트 : http://navyism.com

HTML HARD CODER

*/

$dir              = "test";       // 원본 디렉토리 
$file              = "test.htm";       // 원본 파일이름 
$dir2              = "test";       // 결과 디렉토리 
$file2              = "test.txt";       // 결과 파일이름 
$newln              = "\r\n";       // 줄바꿈 문자 
$tab              = "\t";              // 탭구분 문자 
$replace       = false;       // 대문자로 변환 (true | false) 

$data=file("$dir/$file"); 

for($i=0;$i<sizeof($data);$i++) 
{ 
$data2[]=trim($data[$i]); 
} 

$data=explode($newln,implode($newln,$data2)); 
unset($data2); 

for($i=0;$i<sizeof($data);$i++) 
{ 
$data2[]=eregi_replace("(<table|</table>|<form|</form>)",$newln."\\1",$data[$i]); 
} 

$data=explode($newln,implode($newln,$data2)); 
unset($data2); 

for($i=0;$i<sizeof($data);$i++) 
{ 
$data2[]=eregi_replace("(</table>|</form>)","\\1".$newln,$data[$i]); 
} 

$data=explode($newln,implode($newln,$data2)); 
unset($data2); 

for($i=0;$i<sizeof($data);$i++) 
{ 
       if(!trim($data[$i])) 
       { 
       continue; 
       } 

$data2[]=$data[$i]; 
} 

$data=explode($newln,implode($newln,$data2)); 
unset($data2); 

for($i=0;$i<sizeof($data);$i++) 
{ 
       if(!$replace) 
       { 
       $data[$i]=eregi_replace("<input ","<!--입력폼--><input ",$data[$i]); 
       $data[$i]=eregi_replace("<form ","<!--폼의 시작-->$newln<form ",$data[$i]); 
       $data[$i]=eregi_replace("</form","<!--폼의 끝-->$newln</form",$data[$i]); 
       } 
       else 
       { 
       $data[$i]=eregi_replace("<input ","<!--입력폼--><INPUT ",$data[$i]); 
       $data[$i]=eregi_replace("<form ","<!--폼의 시작-->$newln<FORM ",$data[$i]); 
       $data[$i]=eregi_replace("</form","<!--폼의 끝-->$newln</FORM",$data[$i]); 
       $data[$i]=eregi_replace("<table","<TABLE",$data[$i]); 
       $data[$i]=eregi_replace("</table","</TABLE",$data[$i]); 
       $data[$i]=eregi_replace("<tr","<TR",$data[$i]); 
       $data[$i]=eregi_replace("</tr","</TR",$data[$i]); 
       $data[$i]=eregi_replace("<td","<TD",$data[$i]); 
       $data[$i]=eregi_replace("</td","</TD",$data[$i]); 
       } 
} 

$data=explode($newln,implode($newln,$data)); 

$tab_count=0; 
for($i=0;$i<sizeof($data);$i++) 
{ 
       if(eregi("<table",$data[$i])) 
       { 
       $tab_count++; 
       } 

unset($tab_print); 

       for($j=1;$j<$tab_count;$j++) 
       { 
       $tab_print.=$tab; 
       } 

       if(eregi("</table>",$data[$i])) 
       { 
       $tab_count--; 
       } 

$data2[]=$tab_print.$data[$i]; 
} 

$fp=fopen("$dir2/$file2",w); 
fwrite($fp,implode($newln,$data2)); 
fclose($fp); 


첨부파일을 exe 파일(pre-HardCoder)로 하드코팅하는 소스입니다.

댓글목록

등록된 댓글이 없습니다.

PHP
871 (9/18P)

Search

Copyright © Cmd 명령어 18.223.28.70