在列出新闻标题的时候,如果新闻标题长,就是改变网页的长度,引起页面难看。
这种情况下,可使用left和len两个函数来解决。但是遇到新闻标题中有英文或字母的时候,又会出现即使两个新闻标题都很长,但截取后在前台显示的新闻标题不一样长。主要的原因left和len两个函数将中文当作一个字符去了,所以引起这样。
下面这个函数可以解决这个问题,使用的方法和left函数一样。
<
'**************************************************
'函数名:gotTopic
'作用:截字符串,汉字一个算两个字符,英文算一个字符
'参数:str----原字符串
'strlen----截取长度
'返回值:截取后的字符串
'**************************************************
FunctiongotTopic(ByValstr,ByValstrlen)
Ifstr=""Then
gotTopic=""
ExitFunction
EndIf
Diml,t,c,i,strTemp
str=Replace(Replace(Replace(Replace(str," ",""),""",Chr(34)),">",">"),"<","<")
l=Len(str)
t=0
strTemp=str
strlen=CLng(strlen)
Fori=1Tol
c=Abs(Asc(Mid(str,i,1)))
Ifc>255Then
t=t 2
Else
t=t 1
EndIf
Ift>=strlenThen
strTemp=Left(str,i)
ExitFor
EndIf
Next
IfstrTemp<>strThen
strTemp=strTemp&"…"
EndIf
gotTopic=Replace(Replace(Replace(Replace(strTemp,""," "),Chr(34),"""),">",">"),"<","<")
EndFunction
>
|
人支持 |