asp怎样调出数据库中每篇文章的前200字

怎样调出数据库中每篇文章的前200字,想要的效果如下图我现在的系统新闻列表页还没有调出文章前200字做为简介的功能。请教大家ASP代码要怎么写?... 怎样调出数据库中每篇文章的前200字,想要的效果如下图

我现在的系统 新闻列表页还没有调出文章前200字做为简介的功能。请教大家ASP代码要怎么写?
展开
 我来答
syt251681107
2010-05-11 · TA获得超过5371个赞
知道大有可为答主
回答量:5680
采纳率:25%
帮助的人:2154万
展开全部
有两种方法,
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个汉字
中易文星
2010-05-11 · TA获得超过1530个赞
知道小有建树答主
回答量:1042
采纳率:45%
帮助的人:811万
展开全部
1,你需要懂ASP才能修改;
2,研究下 left 函数,比如你的正文字段是 content 那么,显示正文前200字的代码是:<%=left(Rs("content"),200)%>
3,如果想排除 html 代码,可以研究下正则表达式;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
聪灵学习
2010-05-11 · TA获得超过112个赞
知道小有建树答主
回答量:170
采纳率:0%
帮助的人:190万
展开全部
'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)&"...")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
net83
2010-05-12
知道答主
回答量:6
采纳率:0%
帮助的人:0
展开全部
<%=left(内容,2000)%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式