functioncn_substr($str,$slen,$startdd=0){
$restr="";
$c="";
$str_len=strlen($str);
if($str_len<$startdd+1)return"";
if($str_len<$startdd+$slen||$slen==0)$slen=$str_len-$startdd;
$enddd=$startdd+$slen-1;
for($i=0;$i<$str_len;$i++)
{
if($startdd==0)$restr.=$c;
elseif($i>$startdd)$restr.=$c;
if(ord($str[$i])>0x80){
if($str_len>$i+1)$c=$str[$i].$str[$i+1];
$i++;
}
else{$c=$str[$i];}
if($i>=$enddd){
if(strlen($restr)+strlen($c)>$slen)break;
else{$restr.=$c;break;}
}
}
return$restr;
}
functioncn_midstr($str,$start,$len){
returncn_substr($str,$slen,$startdd);
}