欢迎光临
我们一直在努力

处理较长文章,添加… 效果的解决方案-ASP教程,ASP应用

建站超值云服务器,限时71元/月
从数据库中提取长长的文章,总是有碍网页的排版布局。

所以,想固定地提取一部分字符,然后后面有……替代。

1,原理:
判断文章的长度是否超过规定的长度,若超过则只显示规定长度的大学,否则完整显示。

2,涉及函数:

len():返回字符串长度或者变量的字节长度。

首先用vbs代码检测字节长度,代码:

<script language=”vbs”>
cnbruce=”my name is cnbruce”
len_cn=len(cnbruce)
alert(len_cn)
</script>

left():截取一个字符串的前部分,代码:

<script language=”vbs”>
cnbruce=”my name is cnbruce”
left_cn=left(cnbruce,10)
alert(left_cn)
</script>

3,主要程序:判断内容长度是否大于给定值,据结果做相应操作,代码:

<script language=”vbs”>
text=”123 4567 8fds90 abcde fghxcfv”
i=10
if len(text)>i then   如果文本长度大于给定的值
  text=left(text,i)     则提取前段的i位的字符串
alert (text&”…”)
else
alert (text)
end if
</script>

4,asp中应用
以上是在客户端脚本调试,和asp也是大同小异:最主要的是函数功能,asp代码如下:

<%
text=rs(“content”)  将数据库字段值赋到某变量上
i=10                      定义固定大小
if len(text)>i then   如果文本长度大于给定的值
text=left(text,i)     则提取前段的i位的字符串
response.write (text&”…”)
else
response.write (text)
end if
%>

5,为了方便,做成函数,代码:

<%
function conleft(content,i)
if len(content)>i then  
content=left(content,i)    
response.write (content&”…”)
else
response.write (content)
end if
end function
%>

调用方法:<%call conleft(rs(“content”),10)%>

以上的代码适合在处理纯英文或纯中文字串的时候用,如果一个字串同时包含了中文与英文,长度就会不同,解决方法:

<%
function getstring(str,strlen)
dim l,t,c, i
l=len(str)取字符串长度
t=0
for i=1 to l循环一次
c=abs(asc(mid(str,i,1)))取得每个字符的asc码
if c>255 then如果asc码大于255就为汉字
t=t+2
else
t=t+1
end if
if t>=strlen then
getstring=left(str,i)&”…”
exit for
else
getstring=str&” “
end if
next
end function
%>

同样做成了函数,调用方法:<%=getstring (rs(“content”),46)%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 处理较长文章,添加… 效果的解决方案-ASP教程,ASP应用
分享到: 更多 (0)