关于网页(asp)技术的一个问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 07:44:29
我在建一个电影网站,遇到了些问题~
主页要从数据库读取电影的名称~,并给出超连接,但如果名称过长就会使表格的<td>标签宽度拉长,我见很多网站目录里的名称都是只显示名称前面的N个字符,后面的就不在显示了。这样要如何做,请告诉我具体方法和代码~我用ASP写的

我的方法是计算其长度,超过部份用……代替.
不过这要注意到汉字(双字节)和字母的问题,为此我还编了个函数

<%
function FunLenWord(StrInput,nLength)
'本程序用来取得定长的字串
'输入字串及要求的长度
'输出被截长后的字串
dim N,i
if isnull(StrInput) then StrInput="Err"
StrInput=replace(StrInput," "," ")
N=0
For i=1 to len(StrInput)
nAsc = Asc(Mid(StrInput, i, 1))
If nAsc >=-31936 and nAsc <=-1120 then ' 中文
N = N + 9/5
'N = N + 2 实验证明,一个汉字的宽度并不是字母或数字的2倍,而约是9/5倍
Else ' 非中文
N = N + 1
End If

if N>nLength then
FunLenWord= left(StrInput,i-2) & "…"
exit function
end if
next

FunLenWord=StrInput
end function
%>

left(数据库字符串,长度)
left("abcdefg",3)这样就得到"abc"