asp怎样调出数据库中每篇文章的前200字
怎样调出数据库中每篇文章的前200字,想要的效果如下图我现在的系统新闻列表页还没有调出文章前200字做为简介的功能。请教大家ASP代码要怎么写?...
怎样调出数据库中每篇文章的前200字,想要的效果如下图
我现在的系统 新闻列表页还没有调出文章前200字做为简介的功能。请教大家ASP代码要怎么写? 展开
我现在的系统 新闻列表页还没有调出文章前200字做为简介的功能。请教大家ASP代码要怎么写? 展开
4个回答
展开全部
有两种方法,
1、直接调用关键词描述字段,就好了。
2、从内容中截取前200个字符。
结合你的需求,选择下面的其中一个函数:
'过滤HTML所以代码:
'调用方法str=RemoveHTML(str)
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
'过滤html标签只剩br、img、P
function nohtml(str)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="(<(?!img|br|p).[^<]*>)"
str=re.replace(str,"")
re.Pattern="(<\/(?!p)[^<]?>)"
str=re.replace(str," ")
nohtml=str
set re=nothing
end function
'过滤html标签只剩<br>
function filterhtml(fstring)
if isnull(fstring) or trim(fstring)="" then
filterhtml=""
exit function
end if
fstring = replace(fstring, "<BR />", "[br]")
fstring = replace(fstring, "<BR>", "[br]")
fstring = replace(fstring, "<br />", "[br]")
fstring = replace(fstring, "<br>", "[br]")
'过滤html标签
dim re
set re = new RegExp
re.ignorecase=true
re.global=true
re.pattern="<(.+?)>"
fstring = re.replace(fstring, "")
set re=nothing
fstring = replace(fstring, "[br]", "<br />")
filterhtml = fstring
end function
'下面是我以前写的另一个方法,我觉得比较好!
Function delHtml(strHtml) '做了一个函数名叫delhtml
Dim objRegExp, strOutput',wlxx
Set objRegExp = New Regexp ' 建立正则表达式
objRegExp.IgnoreCase = True ' 设置是否区分大小写
objRegExp.Global = True '是匹配所有字符串还是只是第一个
objRegExp.Pattern = "(<[a-zA-Z].*?>)|(<[\/][a-zA-Z].*?>)" ' 设置模式引号中的是正则表达式,用来找出html标签
wlxx=trim(strHtml)
'if wlxx<>"" then
strOutput = objRegExp.Replace(strHtml, "") '将html标签去掉
strOutput = Replace(strOutput, "<", "<") '防止非html标签不显示
strOutput = Replace(strOutput, ">", ">")
strOutput = Replace(strOutput, " ", "")
strOutput = Replace(strOutput, " ", "")
strOutput = Replace(strOutput,chr(10),"")
'end if
delHtml = strOutput
Set objRegExp = Nothing
End Function
上面的函数是,去掉内容中的htm格式。
然后:<%=left(delHtml(rs("content")&"",200)
注意:我多加了个&"" 作用是,当内容为空的时候不会出现left错误。
200是代表字符。2个字符=1个汉字
1、直接调用关键词描述字段,就好了。
2、从内容中截取前200个字符。
结合你的需求,选择下面的其中一个函数:
'过滤HTML所以代码:
'调用方法str=RemoveHTML(str)
Function RemoveHTML(strHTML)
Dim objRegExp, Match, Matches
Set objRegExp = New Regexp
objRegExp.IgnoreCase = True
objRegExp.Global = True
'取闭合的<>
objRegExp.Pattern = "<.+?>"
'进行匹配
Set Matches = objRegExp.Execute(strHTML)
' 遍历匹配集合,并替换掉匹配的项目
For Each Match in Matches
strHtml=Replace(strHTML,Match.Value,"")
Next
RemoveHTML=strHTML
Set objRegExp = Nothing
End Function
'过滤html标签只剩br、img、P
function nohtml(str)
dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="(<(?!img|br|p).[^<]*>)"
str=re.replace(str,"")
re.Pattern="(<\/(?!p)[^<]?>)"
str=re.replace(str," ")
nohtml=str
set re=nothing
end function
'过滤html标签只剩<br>
function filterhtml(fstring)
if isnull(fstring) or trim(fstring)="" then
filterhtml=""
exit function
end if
fstring = replace(fstring, "<BR />", "[br]")
fstring = replace(fstring, "<BR>", "[br]")
fstring = replace(fstring, "<br />", "[br]")
fstring = replace(fstring, "<br>", "[br]")
'过滤html标签
dim re
set re = new RegExp
re.ignorecase=true
re.global=true
re.pattern="<(.+?)>"
fstring = re.replace(fstring, "")
set re=nothing
fstring = replace(fstring, "[br]", "<br />")
filterhtml = fstring
end function
'下面是我以前写的另一个方法,我觉得比较好!
Function delHtml(strHtml) '做了一个函数名叫delhtml
Dim objRegExp, strOutput',wlxx
Set objRegExp = New Regexp ' 建立正则表达式
objRegExp.IgnoreCase = True ' 设置是否区分大小写
objRegExp.Global = True '是匹配所有字符串还是只是第一个
objRegExp.Pattern = "(<[a-zA-Z].*?>)|(<[\/][a-zA-Z].*?>)" ' 设置模式引号中的是正则表达式,用来找出html标签
wlxx=trim(strHtml)
'if wlxx<>"" then
strOutput = objRegExp.Replace(strHtml, "") '将html标签去掉
strOutput = Replace(strOutput, "<", "<") '防止非html标签不显示
strOutput = Replace(strOutput, ">", ">")
strOutput = Replace(strOutput, " ", "")
strOutput = Replace(strOutput, " ", "")
strOutput = Replace(strOutput,chr(10),"")
'end if
delHtml = strOutput
Set objRegExp = Nothing
End Function
上面的函数是,去掉内容中的htm格式。
然后:<%=left(delHtml(rs("content")&"",200)
注意:我多加了个&"" 作用是,当内容为空的时候不会出现left错误。
200是代表字符。2个字符=1个汉字
展开全部
1,你需要懂ASP才能修改;
2,研究下 left 函数,比如你的正文字段是 content 那么,显示正文前200字的代码是:<%=left(Rs("content"),200)%>
3,如果想排除 html 代码,可以研究下正则表达式;
2,研究下 left 函数,比如你的正文字段是 content 那么,显示正文前200字的代码是:<%=left(Rs("content"),200)%>
3,如果想排除 html 代码,可以研究下正则表达式;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
'ASP移除所有HTML代码的函数
Function RemoveHTML( strText )
Dim RegEx
Set RegEx = New RegExp
RegEx.Pattern = "<[^>]*>"
RegEx.Global = True
RemoveHTML = RegEx.Replace(strText, "")
RemoveHTML = replace(RemoveHTML," "," ")
End Function
Response.write(Left(RemoveHTML("文章内容")&"",200)&"...")
Function RemoveHTML( strText )
Dim RegEx
Set RegEx = New RegExp
RegEx.Pattern = "<[^>]*>"
RegEx.Global = True
RemoveHTML = RegEx.Replace(strText, "")
RemoveHTML = replace(RemoveHTML," "," ")
End Function
Response.write(Left(RemoveHTML("文章内容")&"",200)&"...")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<%=left(内容,2000)%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询