/**
* 截取显示子字符串长度,1个汉字长度为2,一个字母或数字长度为1
*
* @param String $str 待截取的字符串
* @param integer $showLength 显示的字符串长度
* @param string $strEncoding 输入的字符串编码,默认为utf8
* @return string
*/
public function GetSubStrShown($str, $showLength, $strEncoding = 'utf8') {
$result = '';
$len = 0;
for($i = 0, $count = mb_strlen ( $str, $strEncoding ); $i < $count; $i ++) {
$tmp = mb_substr ( $str, $i, 1, $strEncoding );
$tmpLen = strlen ( mb_convert_encoding ( $tmp, "gbk", $strEncoding ) );
if ($len + $tmpLen > $showLength)
return $result;
$len += $tmpLen;
$result .= $tmp;
}
return $result;
}