您的位置:首页网页设计ASP实例 → 解决left截取字符标题长度不一的办法

解决left截取字符标题长度不一的办法

时间:2010/2/5 11:24:00来源:本站整理作者:我要评论(0)

解决left截取字符标题长度不一的办法:

         我们经常看到直接用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
%>

相关视频

    没有数据

相关阅读 生还者Left alive什么时候出 生还者发售时间一览约会大作战凛绪轮回没有声音怎么办 约会大作战凛绪轮回没声音解决勇者海王星玩不了怎么办 勇者海王星进不去解决方法血污夜之仪式黑屏怎么办 血污夜之仪式黑屏解决方法血污夜之仪式玩不了怎么办 血污夜之仪式进不去解决方法血污夜之仪式选择难度卡住怎么办 血污夜之仪式卡死解决方法血污夜之仪式黑屏报错怎么办 血污夜之仪式黑屏报错解决方法全面战争三国闪退怎么办 全面战争三国闪退解决方法

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 迅雷新手完全入门手册 asp下面javascript上传图片限制格式大小方法告诉大家网页弹出窗口应用总结ASP常见错误类型大全asp常见错误分析和解决办法

人气排行 总是弹出visual studio 实时调试器 三种解决SQLSERVER存储过程及调用详解Asp获取真实IP地址ASP中连接Mssql的几种方法一个简单好用的UBB编辑器(含代码)如何用Split将字符串转换为数组并获取数组下ASP防止表单重复提交的办法告诉你免费的简单聊天室源代码