如何解决left截取字符标题长度不一_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解读用asp编写类似搜索引擎功能的代码
首先建一个 access 数据库 ,库中有一个URLINDEX表,其中URL和Keywords字段分别添加了索引,如下: URL 文本(索引:有(无重复)) Title文本 Description文本 Summary文本 Keywords文本(索引:有(无重复)) 程序文件doquery.asp,代码: HTMLHEADTITLE简单搜索引擎

我们经常看到直接用left截字符串时,因为标题中会出现汉字和英文共存,所以造成两条新闻标题长度不一,为了解决这个问题我们可以使用下面这个函数。

<%
’**************************************************
’函数名:gotTopic
’作  用:截字符串,汉字一个算两个字符,英文算一个字符
’参  数:str   ----原字符串
’       strlen ----截取长度
’返回值:截取后的字符串
’Copyright:asp教程
’**************************************************
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)), ">", ">"), "&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 & "…"
    End If
    gotTopic = Replace(Replace(Replace(Replace(strTemp, " ", " "), Chr(34), """), ">", ">"), "<", "&lt;")
End Function
%>
 <%
 str="一共11111w有汉字"
 str1="一共有五汉字"
 response.write "gotTopic
"
 response.write gotTopic(str,10)&"
"&gotTopic(str1,10)&"
"
 response.write "left
"
 response.write Left(str,5)&"
"&Left(str1,5)
 response.end
%>

分享:揭秘解决杀毒软件误删asp文件的方法
一些杀毒软件经常会把某些asp文件当成病毒删除,有时简直防不胜防,程序莫名其妙的就不能用了,因为少了文件呀~~。这主要是因为,杀毒软件将某些asp代码当成木马关键词,记录保存着,所以遇到有这个关键词,就会禁止运行或删除。 解决的方法是将这些关键词给

来源:模板无忧//所属分类:ASP教程/更新时间:2010-02-25
相关ASP教程