정해준 경로의 소스를 출력하는 함수를 간단하게 만들어보았습니다.
당연한 말이겠지만 같은 사이트 내의 소스만 출력이 됩니다.
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 |
번호 : 114 |
번호 : 113 |
번호 : 112 |
번호 : 111 |
번호 : 110 마이페이지 [2] |
번호 : 109 |
번호 : 108 |
번호 : 107 |
번호 : 106 |
번호 : 105 |
번호 : 104 |
번호 : 103 |
번호 : 102 |
번호 : 101 |
번호 : 100 |
번호 : 99 |
번호 : 98 |
번호 : 97 가가 채팅방 연동 하기 [1] |
번호 : 96 |
댓글 0