在文章列表的时候,如果标题过长,往往会撑破表格破坏页面形象。一般做法是略去超长部分而以省略号代替。比如要取前10个字符,则可写出以下语句:
if Len(title)>10 then title=Left(title,9)+"…"
'凑起来刚好10个字符
而我们中国人要面对现实——汉字宽度是字母的两倍。所以得设计一个函数,用一个变量计算字符串长度,如果遇到的是字母,这个长度就加1,如果遇到的是汉字,长度加2:
FUNCTION cuttitle(str,strlen)
'str为待切标题,strlen为截取长度(按字母计算)
dim tmplen,tmpstr,i,s
tmpstr=""
tmplen=0
str=trim(str)
if str="" then exit function
for i=1 to Len(str)
s=mid(str,i,1)
tmpstr=tmpstr&s
tmplen=tmplen+1
if Asc(s)<0 then tmplen=tmplen+1
'如果是汉字,长度再加1
if tmplen>strlen then
tmpstr=Left(tmpstr,Len(tmpstr)-2)&"…"
exit for
end if
next
cuttitle=tmpstr
END FUNCTION