标题:
[转帖]截取中英文混合字符串
[打印本页]
作者:
cn2002
时间:
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;
}
复制代码
作者:
cn2002
时间:
2003-12-10 02:17
标题:
[转帖]截取中英文混合字符串
sub substring($$)
{
my ($str, $len) = @_;
my $retval = substr($str, 0, $len);
$retval =~ /[\x7f-\xff]+$/s;
chop($retval) if (length($&) % 2 == 1);
return $retval;
}
复制代码
欢迎光临 星星博客 (http://commerce.huhoo.net/)
Powered by Discuz! 7.0.0