![Rank: 9](images/default/star_level3.gif) ![Rank: 9](images/default/star_level3.gif) ![Rank: 9](images/default/star_level1.gif)
- UID
- 2031431
- 威望
- 27 点
- 金钱
- 2 金币
- 点卡
- 10 点
|
1#
发表于 2003-12-10 02:15
| 只看该作者
[转帖]截取中英文混合字符串
作者:雨中漫步- sub makelen($$)
- {
- my($sstr,$slen)=@_;
- my $makelen,$parity;
- $mslen=length($sstr);
- if($mslen>$slen)
- {
- for($mn=0;$mn<$slen;$mn++) #在要求的长度内
- {
- $ss=substr($sstr,$mn,1);
- if(ord($ss)<127) #为英文
- {
- $parity+=1;
- }
- }
- if($parity%2==1) #含英文长度为奇数
- {
- if($slen%2==1) #如果所要求的长度也为奇数
- {
- $tmpstr=substr($sstr,0,$slen);
- }
- else #所要求的长度为偶数
- {
- $tmpstr=substr($sstr,0,$slen-1);
- }
- }
- else #含英文长度为偶数或者为0,0也为偶数
- {
- if($slen%2==1) #如果所要求的长度为奇数
- {
- $tmpstr=substr($sstr,0,$slen-1);
- }
- else #所要求的长度为偶数
- {
- $tmpstr=substr($sstr,0,$slen);
- }
- }
- $makelen=$tmpstr;
- }
- else
- {
- $makelen=$sstr;
- }
- return $makelen;
- }
复制代码 |
哈哈哈!!!!你的IP是不是 ?我都知道了!!! |
|