海南世纪云图网络科技有限公司
咨询热线:400-822-8458 技术支持:0898-66754910 客户服务:0898-32183600

ASP中新闻标题太长时,省略号显示过长内容

发表于:2011-05-16 00:00:00来源:人气:2197

标题太长时,往往会把界面撑开,影响美观,所以我们需要省略过长的文字内容。

以下调用方法
<%= 函数名(Rs("字段"),标题长度) %>
便如:
<%= InterceptString(Rs("title"),30) %>

方法一:

Function InterceptString(txt,length)
    txt=trim(txt)
    x = len(txt)
    y = 0
    if x >= 1 then
        for ii = 1 to x
            if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >255 then
                y = y + 2
            else
                y = y + 1
            end if
            if y >= length then
                txt = left(trim(txt),ii)
                exit for
            end if
        next
        InterceptString = txt
    else
        InterceptString = ""
    end if
End Function

这种方法只是截取长度。不会有省略号。下面介绍一种有省略号的

方法二:

function cLeft(str,n)
dim str1,str2,alln,Islefted
str2 = ""
alln = 0
str1 = str
Islefted = false
if isnull(str) then
cleft = ""
exit function
end if
for i = 1 to len(str1)
nowstr = mid(str1,i,1)
if asc(nowstr)<0 then
alln = alln + 2
else
alln = alln + 1
end if
if (alln<=n) then
str2 = str2 & nowstr
else
Islefted = true
exit for
end if
next
if Islefted then
str2 = str2 & "..."
end if
cleft = str2
end function

 

=====================================================

另外在网上搜集到其它两种贴出来

方法一、在ASP中使用mid()函数

<%=mid(rs("title"),1,10)%>

该代码表示,显示从第一个字符开始,长度为10的标题内容
(这种方法非常简单,但多余内容不用省略号代替)

方法二、ASP判断语句
比较完美的方法

程序代码
<%if len(rs.Fields.Item("title").Value)>10then
response.Write left(rs.Fields.Item("title").Value,10)&"......"
else
response.Write rs.Fields.Item("title").Value
end if %>

文章整理: 世纪云图  https://www.yuntop.cc/

以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

版权申明:本站文章部份来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站部份转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。

微信
网站建设
软件业务
网络营销
400电话