정해준 경로의 소스를 출력하는 함수를 간단하게 만들어보았습니다.
당연한 말이겠지만 같은 사이트 내의 소스만 출력이 됩니다.
Replace 부분에서 매번 strText 변수에 재할당하지 않고 한줄로 한번에 변환하는 것이 실행 효율이 조금 더 낫지만, 저렇게 Replace 항목이 많은 경우에는 여러줄로 나누어 보기 좋게 해주는 것이 수정을 편하게 하여 유지보수 생산성이 높아집니다.
<code> 태그는 코드를 화면에 출력할때 사용하는 <xmp> 태그와 유사한 동작을 합니다.
함수내에서 화면 출력에 필요한 작업을 이미 대부분 해놓은 상태이므로 코드 출력용 태그는 사실상 불필요합니다. 위의 경우는 단순히 보기 좋으라고 <code> 태그를 붙여놓은 것이므로 제거하셔도 무방합니다.
참고로 <code> 태그 위치에 <xmp> 태그를 대신 사용하면 사소한 문제가 하나 생기니 주의하시길 바랍니다.
============================================================================================================================
늦어지만 저도 답변달아 봅니다.
아래와 같이 보여지게 만들어 줍니다.
<%
Sub viewCode(codefile)
response.write "<p style=""background-color=#eeeeee;"">"
set fso = server.createobject("scripting.filesystemobject")
set f = fso.opentextfile(server.mappath(codefile),1)
allViewCode = viewHTML(f.readall)
set f = nothing
response.write codingcolor(allviewcode,"brown")
response.write "</p>"
End Sub
'Coding부분을 찾아서 Coloring함수로...
function CodingColor(strTemp,strFontColor)
Dim firstPos
Dim lastPos
Dim leftString
Dim midString
Dim rightString
Dim xmidString
firstPos =1
lastPos = 1
do until lastPos >= len(strTemp)
firstPos = instr(lastPos, strTemp, "<%")
if firstPos <= 0 then
exit do
end if
lastPos = instr(firstPos, strTemp, "%>")
if lastPos <= 0 then
lastPos = len(strTemp)
end if
lastPos = lastPos + len("%>") - 1
leftString = left(strTemp,firstPos-1)
midString = mid(strTemp,firstPos,lastPos-firstPos+1)
rightString = mid(strTemp,lastPos+1,len(strTemp)-lastPos)
xmidString = coloring(midString)
' strTemp = leftString & xmidString & rightString
' lastPos = firstPos + len(xmidString)-1
strTemp = leftString & "<span style=color:" & strFontColor & ";>" & xmidString & "</span>" & rightString
lastPos = firstPos + len("<span style=color:" & strFontColor & ";>" & xmidString & "</span>")-1
loop
CodingColor = strTemp
end function
function coloring(strViewCode)
Dim Reservedwords
Dim aryReservedword
Dim i
Dim strFunction
Dim aryFunction
Reservedwords="AndlCalllCaselConstlDimlDolEachlElselElseIflEmptylEndlEqvlEraselErrorlExitlExplicitlFalselForlFunctionlIflImplInlIslLooplModlNextlNotlNothinglNulllOnlOptionlOrlPrivatelPubliclRandomizelReDimlResumelSelectlSetlSteplSublThenlTolTruelUntillWendlWhilelXor"
aryReservedword=split(Reservedwords,"l")
for i = 0 to ubound(aryReservedword)
strViewCode = wordReplace(strViewCode,aryReservedword(i),"blue")
next
strFunction="AnchorlArraylAsclAtnlCBoollCBytelCCurlCDatelCDbllChrlCIntlCLnglCoslCreateObjectlCSnglCStrlDatelDateAddlDateDifflDatePartlDateSeriallDateValuelDaylDictionarylDocumentlElementlErrlExplFileSystemObjectlFilterlFixlIntlFormlFormatCurrencylFormatDateTimelFormatNumberlFormatPercentlGetObjectlHexlHistorylHourlInputBoxlInStrlInstrRevlIsArraylIsDatelIsEmptylIsNulllIsNumericlIsObjectlJoinlLBoundlLCaselLeftlLenlLinklLoadPicturelLocationlLoglLTrimlRTrimlTrimlMidlMinutelMonthlMonthNamelMsgBoxlNavigatorlNowlOctlReplacelRightlRndlRoundlScriptEnginelScriptEngineBuildVersionlScriptEngineMajorVersionlScriptEngineMinorVersionlSecondlSgnlSinlSpacelSplitlSqrlStrComplStringlStrReverselTanlTimelTextStreamlTimeSeriallTimeValuelTypeNamelUBoundlUCaselVarTypelWeekdaylWeekDayNamelWindowlYear"
aryFunction=split(strFunction,"l")
for i = 0 to
번호 | 제목 | 닉네임 | 조회수 | 작성일 | |
---|---|---|---|---|---|
115 | 댓글과 관련하여 문의 드립니다. | mizy | 1490 | 2014.07.29 | |
114 | 스크립트가 먹히질 않습니다. | 이성제 | 2100 | 2014.07.06 | |
113 | 게시판 글쓰기에 컬럼을 추가하고 싶습니다. [1] | 이성제 | 2258 | 2014.06.17 | |
112 | 아티보드 3.0 SSL로그인 | 일천 | 2504 | 2013.04.12 | |
111 | 아티보드 3.0 팝업 띠우기 | 일천 | 2732 | 2012.06.20 | |
110 | 마이페이지 [2] | 일천 | 2423 | 2012.05.24 | |
109 | TABS Upload 4.3 x86 - 4.0 x86 버전 입니다. .. | 최백호 | 3933 | 2011.12.20 | |
108 | ABC Upload 의 라이센스문제 | 최백호 | 3248 | 2011.12.09 | |
107 | Jquery 체크박스 사용법 | 최백호 | 2525 | 2011.11.25 | |
106 | 실시간 검색어 순위 순서대로 보여주기 | 최백호 | 2907 | 2011.11.25 | |
ASP 소스 보기 | 최백호 | 2868 | 2011.11.25 | ||
104 | GeoIP 국가별 IP 체크 방법 | 최백호 | 2773 | 2011.11.25 | |
103 | jquery를 이용한 오른쪽 퀵메뉴 | 최백호 | 2771 | 2011.11.25 | |
102 | Microsoft® SQL Server® 2008 Express .. | 최백호 | 2544 | 2011.11.25 | |
101 | windows server 2008 에서의 iis7에서 asp 작동시.. [1] | Skynote | 3050 | 2011.06.27 | |
100 | 서버 2008에서 메일보내기입니다. [2] | 배영직 | 3763 | 2010.08.09 | |
99 | SQL Express 버전에서의 OLEDB 연결 [3] | 이재원 | 5078 | 2009.11.16 | |
98 | 8월 18일 업데이트 후 정렬 문제에 관련된 한가지 정보. [2] | 강대경 | 3171 | 2009.09.03 | |
97 | 가가 채팅방 연동 하기 [1] | 강대경 | 3324 | 2009.08.30 | |
96 | 게시판id를 인식하여 게시판마다 다른 태그를 넣는 방법 [7] | 김정만 | 4867 | 2009.03.03 |
댓글 0