發表于:2011-05-16 00:00:00來(lái)源:人(rén)氣:2914
标題太長時,往往會把界面撐開,影(yǐng)響美觀,所以我們需要省略過長的文字内容。
以下調用方法
<%= 函數名(Rs("字段"),标題長度) %>
便如(rú):
<%= 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
=====================================================
另外在網上搜集到其它兩種貼出來(lái)
方法一、在ASP中使用mid()函數
<%=mid(rs("title"),1,10)%>
該代碼表示,顯示從(cóng)第一個字符開始,長度爲10的标題内容
(這種方法非常簡單,但(dàn)多餘内容不用省略号代替)
方法二、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 %>