« sql海量数据库的查询优化及分页算法 实例关于Access数据库中日期格式和货币格式的问题 »

正则小偷的部份核心函数

<%
''''Post方式提交数据并返网页内容
''''参数:A_strURL - 网页地址
''''   A_strData - 提交内容,格式:A1=a1&A2=a2&A3=a3....
Function PostWebData(byval A_strUrl,byval A_strData)
       Dim MM_objBytesStream
       dim MM_objHttp

       Set MM_objHttp = Server.CreateObject("Microsoft.XMLHTTP")
       Set MM_objBytesStream = Server.CreateObject("ADODB.Stream")
       MM_objHttp.Open "POST", A_strUrl, False, "", ""
       MM_objHttp.setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
       MM_objHttp.Send (A_strData)
       With MM_objBytesStream
               .Type = 2
               .Open
               .WriteText MM_objHttp.Responsebody
               .Position = 0
               .Charset = "GB2312"
               .Position = 2
               GetWebData=.ReadText
               .close
       End With
       Set MM_objBytesStream = Nothing
       Set MM_objHttp = Nothing
End Function

''''Get方式提交数据并返网页内容
''''参数:A_strURL - 网页地址及参数格式:http://xxx.com/xxx.asp?A1=a1&A2=a2&A3=a3....
Function GetWebData(byval A_strUrl)
       Dim MM_objBytesStream
       dim MM_objHttp
       Set MM_objHttp = Server.CreateObject("Microsoft.XMLHTTP")
       Set MM_objBytesStream = Server.CreateObject("ADODB.Stream")
       MM_objHttp.Open "Get", A_strUrl, False, "", ""
       MM_objHttp.Send
       With MM_objBytesStream
               .Type = 2
               .Open
               .WriteText MM_objHttp.Responsebody
               .Position = 0
               .Charset = "GB2312"
               .Position = 2
               GetWebData=.ReadText
               .close
       End With
       if err.number<>0 then
       Response.write err.description
       Response.End()
       end if
       Set MM_objBytesStream = Nothing
       Set MM_objHttp = Nothing
End Function

''''正则式内容截取函数
''''参数:A_strString - 内容截取源。如:用GetWebData或PostWebData截取的内容。
''''   A_strPattern - 正则表达式。
''''   A_strBlip         - 决定函数返回的内容。
''''使用如:mymid(m_strStr,"<b>软件大小:</b>  (.*)<br><b>软件语言:</b>","$1")
function mymid(byval A_strString,byval A_strPattern,byval A_strBlip)
       dim MM_objRegexp
       dim MM_strExecute

       set MM_objRegexp=new regexp
       with MM_objRegexp
               .Pattern=A_strPattern
               .IgnoreCase=True
               .Global=false
               set MM_strExecute=.Execute(A_strString)
               if MM_strExecute.count<>0 then
                       mymid=.replace(MM_strExecute.item(0).value,A_strBlip)
               end if
       end with
       mymid=trim(replace(mymid,"        "," "))
       set MM_objRegexp=nothing
end function
%>
原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]

相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。