创力采集程序用到的函数 推荐第1/3页
程序员文章站
2022-04-14 18:53:53
复制代码 代码如下:<% '================================================== '过程名:admin_showcha...
复制代码 代码如下:
<%
'==================================================
'过程名:admin_showchannel_name
'作 用:显示频道名称
'参 数:channelid ------频道id
'==================================================
sub admin_showchannel_name(channelid)
dim sqlc,rsc,tempstr
channelid=clng(channelid)
sqlc ="select top 1 channelname from cl_channel where channelid=" & channelid
set rsc=server.createobject("adodb.recordset")
openconn : rsc.open sqlc,conn,1,1
if rsc.eof and rsc.bof then
tempstr="无指定频道"
else
tempstr=rsc("channelname")
end if
rsc.close : set rsc=nothing
response.write tempstr
end sub
'==================================================
'过程名:admin_showchannel_option
'作 用:显示频道选项
'参 数:channelid ------频道id
'==================================================
sub admin_showchannel_option(channelid)
dim sqlc,rsc,channelname,tempstr
channelid=clng(channelid)
sqlc ="select channelid,channelname from cl_channel where channelid>0 and channelid<>6 and
channeltype<2 and moduleid=1"
set rsc=server.createobject("adodb.recordset")
openconn : rsc.open sqlc,conn,1,1
tempstr="<option value=""0"">请选择频道</option>"
if rsc.eof and rsc.bof then
tempstr=tempstr & "<option value=""0"">请添加频道</option>"
else
do while not rsc.eof
tempstr=tempstr & "<option value=" & """" & rsc("channelid") & """" & ""
if channelid=rsc("channelid") then
tempstr=tempstr & " selected"
end if
tempstr=tempstr & ">" & rsc("channelname")
tempstr=tempstr & "</option>"
rsc.movenext
loop
end if
rsc.close
set rsc=nothing
response.write tempstr
end sub
'==================================================
'过程名:admin_showclass_name
'作 用:显示栏目名称
'参 数:channelid ------频道id
'参 数:classid ------栏目id
'==================================================
sub admin_showclass_name(channelid,classid)
dim sqlc,rsc,tempstr
channelid=clng(channelid)
classid=clng(classid)
sqlc ="select top 1 classname from cl_class where channelid=" & channelid & " and classid=" & classid
set rsc=server.createobject("adodb.recordset")
openconn : rsc.open sqlc,conn,1,1
if rsc.eof and rsc.bof then
tempstr="无指定栏目"
else
tempstr=rsc("classname")
end if
rsc.close : set rsc=nothing
response.write tempstr
end sub
'==================================================
'过程名:admin_showspecial_name
'作 用:显示专题名称
'参 数:channelid ------频道id
'参 数:specialid ------专题id
'==================================================
sub admin_showspecial_name(channelid,specialid)
dim sqlc,rsc,tempstr
channelid=clng(channelid)
specialid=clng(specialid)
sqlc ="select top 1 specialname from cl_special where specialid=" & specialid
set rsc=server.createobject("adodb.recordset")
openconn : rsc.open sqlc,conn,1,1
if rsc.eof and rsc.bof then
tempstr="无指定专题"
else
tempstr=rsc("specialname")
end if
rsc.close : set rsc=nothing
response.write tempstr
end sub
'==================================================
'过程名:admin_showitem_name
'作 用:显示项目名称
'参 数:itemid ------项目id
'==================================================
sub admin_showitem_name(itemid)
dim sqlc,rsc,tempstr
itemid=clng(itemid)
sqlc ="select top 1 itemname from item where itemid=" & itemid
set rsc=server.createobject("adodb.recordset")
rsc.open sqlc,connitem,1,1
if rsc.eof and rsc.bof then
tempstr="无指定项目"
else
tempstr=rsc("itemname")
end if
rsc.close : set rsc=nothing
response.write tempstr
end sub
'==================================================
'过程名:admin_showitem_option
'作 用:显示项目选项
'参 数:itemid ------项目id
'==================================================
sub admin_showitem_option(itemid)
dim sqli,rsi,tempstr
itemid=clng(itemid)
sqli ="select itemid,itemname from item order by itemid desc"
set rsi=server.createobject("adodb.recordset")
rsi.open sqli,connitem,1,1
tempstr="<select name=""itemid"" id=""itemid"">"
if rsi.eof and rsi.bof then
tempstr=tempstr & "<option value=""0"">请添加项目</option>"
else
tempstr=tempstr & "<option value=""0"">请选择项目</option>"
do while not rsi.eof
tempstr=tempstr & "<option value=" & """" & rsi("itemid") & """" & ""
if itemid=rsi("itemid") then
tempstr=tempstr & " selected"
end if
tempstr=tempstr & ">" & rsi("itemname")
tempstr=tempstr & "</option>"
rsi.movenext
loop
end if
rsi.close
set rsi=nothing
tempstr=tempstr & "</select>"
response.write tempstr
end sub
'==================================================
'函数名:gethttppage
'作 用:获取网页源码
'参 数:httpurl ------网页地址
'==================================================
function gethttppage(httpurl)
if isnull(httpurl)=true or len(httpurl)<18 or httpurl="$false$" then
gethttppage="$false$"
exit function
end if
dim http
on error resume next
set http=server.createobject("msxml2.xmlhttp")
http.open "get",httpurl,false
http.send()
if http.readystate<>4 then
set http=nothing
gethttppage="$false$"
exit function
end if
gethttppage=bytestobstr(http.responsebody,"gb2312")
set http=nothing
if err.number<>0 then err.clear
end function
'==================================================
'函数名:bytestobstr
'作 用:将获取的源码转换为中文
'参 数:body ------要转换的变量
'参 数:cset ------要转换的类型
'==================================================
function bytestobstr(body,cset)
dim objstream
on error resume next
set objstream = server.createobject("adodb." & "str" & "eam")
objstream.type = 1
objstream.mode =3
objstream.open
objstream.write body
objstream.position = 0
objstream.type = 2
objstream.charset = cset
bytestobstr = objstream.readtext
objstream.close
set objstream = nothing
end function
'==================================================
'函数名:posthttppage
'作 用:登录
'==================================================
function posthttppage(refererurl,posturl,postdata)
dim xmlhttp
dim retstr
on error resume next
set xmlhttp = createobject("msxml2.xmlhttp")
xmlhttp.open "post", posturl, false
xmlhttp.setrequestheader "content-length",len(postdata)
xmlhttp.setrequestheader "content-type", "application/x-www-form-urlencoded"
xmlhttp.setrequestheader "referer", refererurl
xmlhttp.send postdata
if err.number <> 0 then
set xmlhttp=nothing
posthttppage = "$false$"
exit function
end if
posthttppage=bytestobstr(xmlhttp.responsebody,"gb2312")
set xmlhttp = nothing
end function
'==================================================
'函数名:urlencoding
'作 用:转换编码
'==================================================
function urlencoding(datastr)
dim strreturn,si,thischr,innercode,hight8,low8
strreturn = ""
for si = 1 to len(datastr)
thischr = mid(datastr,si,1)
if abs(asc(thischr)) < &hff then
strreturn = strreturn & thischr
else
innercode = asc(thischr)
if innercode < 0 then
innercode = innercode + &h10000
end if
hight8 = (innercode and &hff00)\ &hff
low8 = innercode and &hff
strreturn = strreturn & "%" & hex(hight8) & "%" & hex(low8)
end if
next
urlencoding = strreturn
end function
'==================================================
'函数名:getbody
'作 用:截取字符串
'参 数:constr ------将要截取的字符串
'参 数:startstr ------开始字符串
'参 数:overstr ------结束字符串
'参 数:inclul ------是否包含startstr
'参 数:inclur ------是否包含overstr
'==================================================
function getbody(constr,startstr,overstr,inclul,inclur)
if constr="$false$" or constr="" or isnull(constr)=true or startstr="" or isnull(startstr)=true or
overstr="" or isnull(overstr)=true then
getbody="$false$"
exit function
end if
dim constrtemp
dim start,over
constrtemp=lcase(constr)
startstr=lcase(startstr)
overstr=lcase(overstr)
start = instrb(1, constrtemp, startstr, vbbinarycompare)
if start<=0 then
getbody="$false$"
exit function
else
if inclul=false then
start=start+lenb(startstr)
end if
end if
over=instrb(start,constrtemp,overstr,vbbinarycompare)
if over<=0 or over<=start then
getbody="$false$"
exit function
else
if inclur=true then
over=over+lenb(overstr)
end if
end if
getbody=midb(constr,start,over-start)
end function
'==================================================
'函数名:getarray
'作 用:提取链接地址,以$array$分隔
'参 数:constr ------提取地址的原字符
'参 数:startstr ------开始字符串
'参 数:overstr ------结束字符串
'参 数:inclul ------是否包含startstr
'参 数:inclur ------是否包含overstr
'==================================================
function getarray(byval constr,startstr,overstr,inclul,inclur)
if constr="$false$" or constr="" or isnull(constr)=true or startstr="" or overstr="" or isnull
(startstr)=true or isnull(overstr)=true then
getarray="$false$"
exit function
end if
dim tempstr,tempstr2,objregexp,matches,match
tempstr=""
set objregexp = new regexp
objregexp.ignorecase = true
objregexp.global = true
objregexp.pattern = "("&startstr&").+?("&overstr&")"
set matches =objregexp.execute(constr)
for each match in matches
tempstr=tempstr & "$array$" & match.value
next
set matches=nothing
if tempstr="" then
getarray="$false$"
exit function
end if
tempstr=right(tempstr,len(tempstr)-7)
if inclul=false then
objregexp.pattern =startstr
tempstr=objregexp.replace(tempstr,"")
end if
if inclur=false then
objregexp.pattern =overstr
tempstr=objregexp.replace(tempstr,"")
end if
set objregexp=nothing
set matches=nothing
tempstr=replace(tempstr,"""","")
tempstr=replace(tempstr,"'","")
tempstr=replace(tempstr," ","")
tempstr=replace(tempstr,"(","")
tempstr=replace(tempstr,")","")
if tempstr="" then
getarray="$false$"
else
getarray=tempstr
end if
end function
1
上一篇: HTML-ul分分钟理解
下一篇: 用ASP和SQL实现基于Web的事件日历