url 정보의 파라메터 및 쿼리스트링 자유롭게 조정하는 함수개발 중에 만들어진 함수 입니다.
각 페이지마다 링크걸기가 귀찮고, 소스가 지져분해져서 만들게 되었네요.
해당 페이지의 파라메터 정보 즉, 쿼리스트링을 불러오는 함수입니다.
불러온 파라메터의 부분 부분 삭제 및 수정이 가능하여 사용이 편리하다는 장점이 있습니다.
이동할 페이지가 정해져 있고 파라메터로 페이지 컨트롤할 경우 ?chn=blog
? 를 붙여 주시면 됩니다. ^-^ 대부분 아시겠지만 ... 1%를 위해서!!
* 자주 사용하는 함수명은 짧은게 좋아요 !!
* 페이지 이동을 파라메타로 개발하시는 분에게 권하는 함수입니다.
index.asp -> list.asp (x)
index.asp -> index.asp?mode=list (o)
-------------------------------------------------------------------------------------------
[2008.03.26] 값 없는 파라메터 필터링
chn=blog&mode=syaku&type=&page=2
위와 같은 파라메터인 경우 &type= 부분은 자동 삭제됩니다.
chn=blog&mode=syaku&page=2
[2008.05.29]
값이 없는 파라메터 자동 삭제 버그 수정 (위 방법 올바르게 안되는 부분 수정)
이전 페이지 값 가져 오기
예) 로그인 하지않은 상태에서 특정페이지에 접근하게 되면, 이전 페이지의 파라메터 정보를 읽어
로그인 페이지로 전송하면 됩니다.
[2008.06.30]
쿼리스트링 끝 부분에 & 가 붙는 경우 삭제함.
# 원본 소스
<%@LANGUAGE="VBSCRIPT"%>
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
<% Option Explicit %>
<%
Public Function Para(Ar)
Dim Reg
Dim query,reg_query,key,str
query = Request.ServerVariables("QUERY_STRING")
Set Reg = New RegExp
Reg.Global = True
'// 2008.03.26 파라메터 필터링 1차 수정
'//Reg.Pattern = "([A-Za-z0-9_-]+)=(&|$)"
'//query = Reg.Replace(query,"&")
'// 2008.05.29 파라메터 필터링 2차 수정
Reg.Pattern = "(&|)([A-Za-z0-9\%\_\-]+)=(&|$)"
query = Reg.Replace(query,"&")
If IsArray(Ar) Then
For Each key In Ar
str = key(0) & "=" & key(1)
Reg.Pattern = "(" & key(0) & ")=([^&]+)?"
If key(1) = "" Then
query = Reg.Replace(query,"")
Else
query = Reg.Replace(query,str)
End If
Next
'// 2008.05.29 이전 페이지 돌아가기
Else
If Ar = "HTTP_REFERER" Then
query = Request.ServerVariables("HTTP_REFERER")
Reg.Pattern = "^(http|ftp|mail|https):\/\/(.*)\/(.*)\?"
query = Reg.Replace(query,"")
End If
End If
'// 200.06.30 끝부분에 & 붙으면 제거함.
Reg.Pattern = "&$"
query = Reg.Replace(query,"")
Set Reg = Nothing
Para = query
End Function
%>
#예제 소스
<%@LANGUAGE="VBSCRIPT"%>
<% Option Explicit %>
<%
'// 현 파라메터 불러오기
response.write Para("") & "<br>"
'// 결과 : chn=blog&mode=syaku&page=2
'// 현 파라메터 일부분 수정하기
response.write Para(Array(Array("mode","kor_no"))) & "<br>"
'// 결과 : chn=blog&mode=kor_no&page=2
'// 현 파라메터 일부분 삭제하기
response.write Para(Array(Array("&page",""))) & "<br>"
'// 결과 : chn=blog&mode=syaku
'// 현 파라메터 여러부분 수정및 삭제하기
response.write Para(Array(Array("chn","good"),Array("mode","end"),Array("&page",""))) & "<br>"
'// 결과 : chn=good&mode=end
'// 이전페이지 파라메터 읽어오기
response.write Para("HTTP_REFERER") & "<br>"
%>
[출처] ASP 파라메터 컨트롤 함수|작성자 어라
'ASP' 카테고리의 다른 글
ASP 프레임워크(Framework) (0) | 2014.12.05 |
---|---|
ASP 입력값 Replace (따옴표, 작은따옴표..) (0) | 2013.05.01 |
jquery 파일 업로드 (0) | 2010.12.10 |
구글맵 (0) | 2010.12.09 |
구글맵 API Key 생성 URL (0) | 2010.12.01 |