DefiniteUrl asp将相对地址转换为绝对地址的代码

2018-09-06 12:03

阅读:391

  ==================================================
函数名:DefiniteUrl
作用:将相对地址转换为绝对地址
参数:PrimitiveUrl------要转换的相对地址
参数:ConsultUrl------当前网页地址
==================================================
FunctionDefiniteUrl(ByvalPrimitiveUrl,ByvalConsultUrl)
DimConTemp,PriTemp,Pi,Ci,PriArray,ConArray
IfPrimitiveUrl=orConsultUrl=orPrimitiveUrl=$False$orConsultUrl=$False$Then
DefiniteUrl=$False$
ExitFunction
EndIf
IfLeft(Lcase(ConsultUrl),7)<>
ConsultUrl=
EndIf
ConsultUrl=Replace(ConsultUrl,\,/)
ConsultUrl=Replace(ConsultUrl,://,:\\)
PrimitiveUrl=Replace(PrimitiveUrl,\,/)

IfRight(ConsultUrl,1)<>/Then
IfInstr(ConsultUrl,/)>0Then
IfInstr(Right(ConsultUrl,Len(ConsultUrl)-InstrRev(ConsultUrl,/)),.)>0then
Else
ConsultUrl=ConsultUrl&/
EndIf
Else
ConsultUrl=ConsultUrl&/
EndIf
EndIf
ConArray=Split(ConsultUrl,/)

IfLeft(LCase(PrimitiveUrl),7)=
DefiniteUrl=Replace(PrimitiveUrl,://,:\\)
ElseIfLeft(PrimitiveUrl,1)=/Then
DefiniteUrl=ConArray(0)&PrimitiveUrl
ElseIfLeft(PrimitiveUrl,2)=./Then
PrimitiveUrl=Right(PrimitiveUrl,Len(PrimitiveUrl)-2)
IfRight(ConsultUrl,1)=/Then
DefiniteUrl=ConsultUrl&PrimitiveUrl
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,/))&PrimitiveUrl
EndIf
ElseIfLeft(PrimitiveUrl,3)=../then
DoWhileLeft(PrimitiveUrl,3)=../
PrimitiveUrl=Right(PrimitiveUrl,Len(PrimitiveUrl)-3)
Pi=Pi+1
Loop
ForCi=0to(Ubound(ConArray)-1-Pi)
IfDefiniteUrl<>Then
DefiniteUrl=DefiniteUrl&/&ConArray(Ci)
Else
DefiniteUrl=ConArray(Ci)
EndIf
Next
DefiniteUrl=DefiniteUrl&/&PrimitiveUrl
Else
IfInstr(PrimitiveUrl,/)>0Then
PriArray=Split(PrimitiveUrl,/)
IfInstr(PriArray(0),.)>0Then
IfRight(PrimitiveUrl,1)=/Then
DefiniteUrl=http:\\&PrimitiveUrl
Else
IfInstr(PriArray(Ubound(PriArray)-1),.)>0Then
DefiniteUrl=http:\\&PrimitiveUrl
Else
DefiniteUrl=http:\\&PrimitiveUrl&/
EndIf
EndIf
Else
IfRight(ConsultUrl,1)=/Then
DefiniteUrl=ConsultUrl&PrimitiveUrl
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,/))&PrimitiveUrl
EndIf
EndIf
Else
IfInstr(PrimitiveUrl,.)>0Then
IfRight(ConsultUrl,1)=/Then
DefiniteUrl=http:\\&PrimitiveUrl&/
Else
DefiniteUrl=ConsultUrl&PrimitiveUrl
EndIf
Else
Ifright(LCase(PrimitiveUrl),3)=.cnorright(LCase(PrimitiveUrl),3)=comorright(LCase(PrimitiveUrl),3)=netorright(LCase(PrimitiveUrl),3)=orgThen
DefiniteUrl=http:\\&PrimitiveUrl&/
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,/))&/&PrimitiveUrl
EndIf
EndIf
Else
IfRight(ConsultUrl,1)=/Then
DefiniteUrl=ConsultUrl&PrimitiveUrl&/
Else
DefiniteUrl=Left(ConsultUrl,InstrRev(ConsultUrl,/))&/&PrimitiveUrl&/
EndIf
EndIf
EndIf
EndIf
IfLeft(DefiniteUrl,1)=/then
DefiniteUrl=Right(DefiniteUrl,Len(DefiniteUrl)-1)
Endif
IfDefiniteUrl<>Then
DefiniteUrl=Replace(DefiniteUrl,//,/)
DefiniteUrl=Replace(DefiniteUrl,:\\,://)
Else
DefiniteUrl=$False$
EndIf
EndFunction


评论


亲,登录后才可以留言!