以下是php处理的方法,不知道perl该怎么做
<?
function toFixLen($str, $len) { // 固定长度字符串的截取,UTF-8
$str=trim($str);
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $str, $t_string);
$lt = count($t_string[0]);
$str = '';
$l = 0 ;
foreach($t_string[0] as $k=>$s){
$l += (strlen($s)==1?1:2);
if($l>=$len-3 && $k!=$lt){
$str .= '...';
break;
}else{
$str .= $s;
}
}
return $str;
}
?>
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---
没有评论:
发表评论