加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > Asp教程 > 正文

ASP截取数据类型转换函数

发布时间:2023-08-09 14:43:35 所属栏目:Asp教程 来源:
导读:在列出新闻标题的时候,如果新闻标题长,就是改变网页的长度,引起页面难看。

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

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章