<? function chnSubstr( $str , $start , $len ){ $strlen = $start + $len ; $tmpstr = '' ; $i = 0 ; // 取值 $j = 0 ; // 计数 while ( $j < $strlen && $j < strlen ( $str )){ $tmp1 = mb_substr( $str , $i , 1 , " UTF-8 " ); // 可以换成自己需要的字符编码 $mblen = strlen ( $tmp1 ); if ( $j == ( $strlen - 1 ) && $mblen > 2 && $len < strlen ( $tmpstr . $tmp1 )){ return $tmpstr ; } $tmpstr .= $tmp1 ; if ( $mblen > 1 ){ $j ++ ; } $i ++ ; $j ++ ; } return $tmpstr ;} // 用法 echo chnSubstr( $msg , 15 ); // 要用此函数需要PHP支持mb_sring。 ?>