📄 function.asp
字号:
<%
Function GetPageContent(f_Url,WebCharset)
Dim f_HTTP_Obj
On Error Resume Next
Set f_HTTP_Obj = Server.CreateObject(G_FS_XMLHTTP)
With f_HTTP_Obj
.Open "Get", f_Url, False, "", ""
.Send
End With
if f_HTTP_Obj.Readystate <> 4 then
Set f_HTTP_Obj = Nothing
GetPageContent = False
Exit Function
end if
GetPageContent = ResponseStrToStr(f_HTTP_Obj.ResponseBody,WebCharset)
Set f_HTTP_Obj = Nothing
End Function
Function ResponseStrToStr(f_Body_Str,WebCharset)
Dim ADOStreamObj
Set ADOStreamObj = Server.CreateObject("Adodb.Stream")
ADOStreamObj.Type = 1
ADOStreamObj.Mode = 3
ADOStreamObj.Open
ADOStreamObj.Write f_Body_Str
ADOStreamObj.Position = 0
ADOStreamObj.Type = 2
ADOStreamObj.Charset = WebCharset
ResponseStrToStr = ADOStreamObj.ReadText
ADOStreamObj.Close
Set ADOStreamObj = Nothing
End Function
Function GetContent(Str,StartStr,LastStr,Flag)
On Error Resume next
if Instr(LCase(Str),LCase(StartStr)) > 0 then
Dim regEx,SearchStr,Matches,Matche
Str = Replace(Replace(Str,Chr(13),""),Chr(10),"")
StartStr = Replace(StartStr,"[变量]",".*")
LastStr = Replace(LastStr,"[变量]",".*")
SearchStr = StartStr & ".*" & LastStr
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global=True
regEx.Pattern = SearchStr
Set Matches = regEx.Execute(str)
set Matche = Matches(0)
Select Case Flag
Case 0 '不包括首尾特征字符
GetContent = Matche
regEx.Pattern = StartStr
GetContent = regEx.Replace(GetContent,"")
regEx.Pattern = LastStr & ".*|\n"
GetContent = regEx.Replace(GetContent,"")
Case 1 '包括首尾特征字符
GetContent = Matche
Case 2 '取开始字符后面的所有内容
GetContent = Matche
regEx.Pattern = StartStr
GetContent = regEx.Replace(GetContent,"")
Case else
GetContent = ""
End Select
else
GetContent = ""
end if
if Err then
Err.clear
GetContent = ""
End If
End Function
Function GetOtherContent(Str,StartStr,LastStr)
On Error Resume Next
Dim regEx,SearchStr,Matches,Matche
Str = Replace(Replace(Str,Chr(13),""),Chr(10),"")
StartStr = Replace(Replace(Replace(StartStr,"[变量]","(.*)"),Chr(13),""),Chr(10),"")
LastStr = Replace(Replace(Replace(LastStr,"[变量]","(.*)"),Chr(13),""),Chr(10),"")
SearchStr = StartStr & ".*" & LastStr
Set regEx = New RegExp
regEx.IgnoreCase = True
regEx.Global=True
regEx.Pattern = SearchStr
Set Matches = regEx.Execute(str)
For Each Matche In Matches
If Matche<>"" Then
GetOtherContent = Matche
regEx.Pattern = StartStr
GetOtherContent = regEx.Replace(GetOtherContent,"")
regEx.Pattern = LastStr & ".*|\n"
GetOtherContent = regEx.Replace(GetOtherContent,"")
Else
GetOtherContent = ""
End If
If Err Then
Err.clear
GetOtherContent = ""
End If
Exit For
Next
End Function
Function FormatUrl(NewsLinkStr,ObjURL)
'///////
'测试值
'NewsLinkStr = "../aaa.htm"
'CollectObjURL = "http://www.baidu.com/bbb/ccc/"
'SiteUrl = "http://www.baidu.com"
'/////
Dim URLSearchLoc
'NewsLinkStr = LCase(NewsLinkStr)
if Left(LCase(NewsLinkStr),7) <> "http://" then
Dim CheckURLStr,TempCollectObjURL,CheckObjURL
NewsLinkStr = Replace(Replace(Replace(NewsLinkStr,"'",""),"""","")," ","")
TempCollectObjURL = Left(ObjURL,InStrRev(ObjURL,"/"))
CheckObjURL = NewsLinkStr
CheckURLStr = Left(NewsLinkStr,3)
if Left(NewsLinkStr,1) = "/" then
URLSearchLoc = InStr(ObjURL,"//") + 2
FormatUrl = Left(ObjURL,InStr(URLSearchLoc,ObjURL,"/") - 1)
FormatUrl = FormatUrl & NewsLinkStr
elseif CheckURLStr = "../" then
do while Not CheckURLStr <> "../"
CheckObjURL = Mid(CheckObjURL,4)
if Right(TempCollectObjURL,1) = "/" then TempCollectObjURL = Left(TempCollectObjURL,Len(TempCollectObjURL) - 1)
TempCollectObjURL = Left(TempCollectObjURL,InStrRev(TempCollectObjURL,"/"))
CheckURLStr = Left(CheckObjURL,3)
Loop
FormatUrl = TempCollectObjURL & CheckObjURL
else
FormatUrl = TempCollectObjURL & NewsLinkStr
end if
else
FormatUrl = NewsLinkStr
end If
End Function
Function ReplaceIMGRemoteUrl(NewsContent,SaveFilePath,FunDoMain,DummyPath,NewsLinkStr,SaveRemotePic,WTF) 'ReplaceRemoteUrl变形
Dim re,RemoteFile,RemoteFileurl,SaveFileName,FileName,FileExtName,SaveImagePath,ReplaceFileUrl,TempFileUrl
Dim SaveIMGFileName,SourceFileUrl
Set re = New RegExp
re.IgnoreCase = True
re.Global=True
're.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp|swf)))"
re.Pattern = "(src\S+\.{1}(gif|jpg|png|bmp|swf)(""|\')?)"
Set RemoteFile = re.Execute(NewsContent)
Set re = Nothing
For Each RemoteFileurl in RemoteFile
ReplaceFileUrl = Replace(Replace(Replace(RemoteFileurl,"=",""),"'",""),"""","")
SourceFileUrl = RemoteFileurl
TempFileUrl = mid(ReplaceFileUrl,4)
RemoteFileurl = FormatUrl(TempFileUrl,NewsLinkStr)
'If SaveRemotePic Then
SaveFileName = Mid(RemoteFileurl,InstrRev(RemoteFileurl,"/")+1)
FileExtName = Mid(SaveFileName,InstrRev(SaveFileName,".")+1)
SaveIMGFileName = GetRamCode(18) & "." & FileExtName
Call SaveRemoteFile(DummyPath & SaveFilePath & "/" & SaveIMGFileName,RemoteFileurl,WTF)
NewsContent = Replace(NewsContent,SourceFileUrl, "src=""" & FunDoMain & SaveFilePath & "/" & SaveIMGFileName & """")
'Else
'NewsContent = Replace(NewsContent,SourceFileUrl, "src=""" & RemoteFileurl &"""")
'不选择远程存图也替换图片地址为绝对地址2005.10.20
'End If
Next
ReplaceIMGRemoteUrl = NewsContent
End Function
Function ReplaceContentStr(ContentStr)
Dim TempContentStr
TempContentStr = ContentStr
if TextTF then
TempContentStr = LoseHtml(TempContentStr)
else
if IsStyle = True then TempContentStr = LoseStyleTag(TempContentStr)
if IsDiv = True then TempContentStr = LoseDivTag(TempContentStr)
if IsA = True then TempContentStr = LoseATag(TempContentStr)
if IsFont = True then TempContentStr = LoseFontTag(TempContentStr)
if IsSpan = True then TempContentStr = LoseSpanTag(TempContentStr)
if IsObjectTF = True then TempContentStr = LoseObjectTag(TempContentStr)
if IsIFrame = True then TempContentStr = LoseIFrameTag(TempContentStr)
if IsScript = True then TempContentStr = LoseScriptTag(TempContentStr)
if IsClass = True then TempContentStr = LoseClassTag(TempContentStr)
end if
ReplaceContentStr = TempContentStr
End Function
Function LoseClassTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "(class=){1,}(""|\'){0,1}\S+(""|\'|>|\s){0,1}"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseClassTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseScriptTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "(<script){1,}[^<>]*>[^\0]*(<\/script>){1,}"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseScriptTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseIFrameTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "(<iframe){1,}[^<>]*>[^\0]*(<\/iframe>){1,}"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseIFrameTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseObjectTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<object.*?/object>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseObjectTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseSpanTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<(\/){0,1}span[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseSpanTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseFontTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<(\/){0,1}font[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseFontTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseATag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<(\/){0,1}a[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseATag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseDivTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<(\/){0,1}div[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseDivTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Function LoseStyleTag(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "(<style){1,}[^<>]*>[^\0]*(<\/style>){1,}"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseStyleTag = ClsTempLoseStr
Set regEx = Nothing
End Function
Sub CreatePath(f_Save_Path_Str,f_Check_Str)
Dim m_FSO_OBJ,f_Str,f_Create_Path,f_Standard_Str,f_Array,f_i,f_Check_Loc
f_Check_Loc = InStr(f_Save_Path_Str,f_Check_Str)
if f_Check_Loc <> 0 then
f_Check_Loc = f_Check_Loc + Len(f_Check_Str)
f_Standard_Str = Right(f_Save_Path_Str,Len(f_Save_Path_Str) - f_Check_Loc)
f_Create_Path = f_Check_Str
f_Array = Split(f_Standard_Str,"\")
Set m_FSO_OBJ = Server.CreateObject(G_FS_FSO)
for f_i = LBound(f_Array) to UBound(f_Array)
if f_Array(f_i) <> "" then
f_Create_Path = f_Create_Path & "\" & f_Array(f_i)
if Not m_FSO_OBJ.FolderExists(f_Create_Path) then
m_FSO_OBJ.CreateFolder(f_Create_Path)
end if
end if
Next
Set m_FSO_OBJ = Nothing
end if
End Sub
Function LoseHtml(ContentStr)
Dim ClsTempLoseStr,regEx
ClsTempLoseStr = Cstr(ContentStr)
Set regEx = New RegExp
regEx.Pattern = "<\/*[^<>]*>"
regEx.IgnoreCase = True
regEx.Global = True
ClsTempLoseStr = regEx.Replace(ClsTempLoseStr,"")
LoseHtml = ClsTempLoseStr
End function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -