返回   CHF站长论坛 > 综合讨论区 > 网站开发与设计

网站开发与设计 网页设计、网站开发、网站维护与调试交流区。

双至强仅二千,企商在线,最早租用商 传世私服 魔域私服 亿恩1元帮您升级服务器! 天龙八部私服 传奇世界私服
站长轻松日赚500,日结稳定高价,QQ:705491 705492 英雄合击 热血江湖私服 传奇私服 传奇私服 传世私服 完美世界私服 魔域私服 传奇私服
发表新主题 回复
 
主题工具 主题评分 显示模式
旧 2005-09-10, 13:48   #1 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17759
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认 ASP求字符串长度。汉字算两个字符,英文算一个字符。

PHP 代码:
   求字符串长度。汉字算两个字符,英文算一个字符。
    
Function strLength(str)
        If 
isNull(str) Or Str "" Then
            StrLength 
0
            
Exit Function
        
End If
        
Dim WINNT_CHINESE
        WINNT_CHINESE
=(len("例子")=2)
        If 
WINNT_CHINESE Then
            Dim l
,t,c
            Dim i
            l
=len(str)
            
t=l
            
For i=1 To l
                c
=asc(mid(str,i,1))
                If 
c<0 Then c=c+65536
                
If c>255 Then t=t+1
            Next
            strLength
=t
        
Else 
            
strLength=len(str)
        
End If
    
End Function 


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2005-09-10, 14:01   #2 (页面定位)
不学无术
Ulysses 的元神
 
不学无术 的头像
 
注册日期: 2005-08-31
住址: 冥王星
帖子: 13747
不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀不学无术 有着人尽皆知的贡献和荣耀
默认

我常用的:

代码:
'--------------------------------------------------------------------------------
Function GetStrLen(str)
'--------------------------------------------------------------------------------
'--------------------------------------------------------------------------------
	If IsNull(str) Or str = "" Then
		getStrLen = 0
	Else
		Dim i, n, k, chrA
		k = 0
		n = Len(str)
		For i = 1 To n
			chrA = Mid(str, i, 1)
			If Asc(chrA) >= 0 And Asc(chrA) <= 255 Then
				k = k + 1
			Else
				k = k + 2
			End If
		Next
		getStrLen = k
	End If
End Function
原来差不多,不过这个只是将 0-255 之间的认定为单字节字符。

另,常用来截取标题的函数:

代码:
'--------------------------------------------------------------------------------
Function GetStrValue(ByVal str, ByVal i, ByVal str_2)
'--------------------------------------------------------------------------------
'--------------------------------------------------------------------------------
    If getStrLen(str) <= i Then
        getStrValue = str
    Else
        Dim j, n, k, chrA
		j = i - getStrLen(str_2)
        n = 0
        k = 0
        Do While n < j
            k = k + 1
			chrA = Mid(str, k, 1)
            If Asc(chrA) < 0 Or Asc(chrA) > 255 Then
                n = n + 2
				If n > j Then k = k - 1
            Else
                n = n + 1
            End If
        Loop
        getStrValue = Left(Trim(str), k) & str_2
    End If
End Function
其中 str 是字符串,i 是需要的字节数(英文算一个,中文算两个),str_2 是用来作为省略标记的字符,例如“...”或者“…”。
不学无术 当前离线   回复时引用此帖
旧 2005-09-10, 14:09   #3 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17759
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

以前截取标题的时候,真麻烦,,用left函数,
纯汉字就算两个,英文却算一个..


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2005-09-10, 14:10   #4 (页面定位)
老林©
 
老林 的头像
 
注册日期: 2005-09-06
帖子: 10358
老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星
默认

昨天找了半天 
老林 当前离线   回复时引用此帖
旧 2005-09-10, 14:19   #5 (页面定位)
小叶
 
注册日期: 2005-09-04
住址: 火星人
帖子: 17759
小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星小叶 是一位成功的新星
默认

引用:
作者: 老林
昨天找了半天 
有什么问题就发出来大家一起交流嘛..


匆匆人生中,你做了几件令自己骄傲的事呢?
小叶 当前离线   回复时引用此帖
旧 2005-09-10, 14:40   #6 (页面定位)
老林©
 
老林 的头像
 
注册日期: 2005-09-06
帖子: 10358
老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星老林 即将成为的新星
默认

引用:
有什么问题就发出来大家一起交流嘛..

理论上同意
老林 当前离线   回复时引用此帖
旧 2005-09-19, 12:51   #7 (页面定位)
感觉
 
感觉 的头像
 
注册日期: 2005-09-12
帖子: 93
感觉 是普普通通的会员
默认

收藏,谢谢!


引用:
国度生活网
www.77ii.com - 国度社区 - 国度生活社区 - 网络与现实中的你和我 ......

                                    Google 提供的公益广告
感觉 当前离线   回复时引用此帖
旧 2005-09-19, 14:00   #8 (页面定位)
小人物大英雄
 
注册日期: 2005-09-19
帖子: 5
小人物大英雄 是普普通通的会员
默认

晕,看着论坛标签 PHP代码……寒,我就说怎么越看越不像PHP~


XCMS Ver1.14已更新功能介绍——独创的静态页全自动更新方案
小人物大英雄 当前离线   回复时引用此帖
回复

书签

标签

主题工具
显示模式 对此主题评分
对此主题评分:



所有时间均为北京时间。现在的时间是 14:55