当前位置:asp编程网>技术教程>Asp教程>  正文

ASP截取字符串函数

2008-01-19 16:08:19   来源:aspprogram.cn    作者:佚名   浏览量:2013   收藏
在列出新闻标题的时候,如果新闻标题长,就是改变网页的长度,引起页面难看。
这种情况下,可使用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, "&#38;nbsp;", " "), "&#38;quot;", Chr(34)), "&#38;gt;", ">"), "&#38;lt;", "<")
    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 &#38; "…"
    End If
    gotTopic = Replace(Replace(Replace(Replace(strTemp, " ", "&#38;nbsp;"), Chr(34), "&#38;quot;"), ">", "&#38;gt;"), "<", "&#38;lt;")
End Function
%>

关于我们-广告合作-联系我们-积分规则-网站地图

Copyright(C)2013-2017版权所属asp编程网