当我们制作网页的时候,经常会遇到标题的长度超过网页布局空间,那么我们就需要控制标题的长度。但是我们常用的都是left(这种方法,这种方法有一个不好的地方就是一个中文占2个字符宽度,而一个英文只占一个字符宽度。也就是说如果使用这种方法会导致中文和英文标题的宽度不等。所以就需要使用一种算法来控制标题的绝对宽度。下面就是这个算法的函数:
Function Strlength(Str)
dim Temp_Str,Test_Str,I
Temp_Str=Len(Str)
For I=1 To Temp_Str
Test_Str=(Mid(Str,I,1))
If Asc(Test_Str)>0 Then
Strlength=Strlength+1
Else
Strlength=Strlength+2
End If
Next
End Function
Function Strleft(Str,L)
dim Temp_Str,Test_Str,lens,I
Temp_Str=Len(Str)
For I=1 To Temp_Str
Test_Str=(Mid(Str,I,1))
Strleft=Strleft&Test_Str
If Asc(Test_Str)>0 Then
lens=lens+1
Else
lens=lens+2
End If
If lens>=L Then Exit For
Next
End Function
Function tiltelen(title,maxlen)
title=trim(title)
If int(Strlength(title))>int(maxlen) then
tiltelen=Strleft(title,maxlen-2)+".."
else
tiltelen=Strleft(title,maxlen-2)
End if
End Function
希望对大家有帮助!