程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> ASP截取字符串函數

ASP截取字符串函數

編輯:ASP技巧
在列出新聞標題的時候,如果新聞標題長,就是改變網頁的長度,引起頁面難看。
這種情況下,可使用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
%>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved