Posted in PHP onJanuary 16, 2007
function strSplit($s, $len) { $end = '…'; $result = ''; $strLen = strlen($s); if ($strLen <= $len) { return $s; } $len -= 2; for ($i=0; $i<$len && $i<$strLen; $i++) { $c = $s[$i]; if (ord($c) < 0x80) { $result .= $c; } elseif ($i+1<$len) { $result .= $s[$i++] . $s[$i]; } } return ($i < $strLen) ? ($result . $end) : $result; } echo strSplit('1234567', 10), '<br />'; echo strSplit('1234567890', 10), '<br />'; echo strSplit('1234中文567890abcdefghijkl', 10), '<br />'; echo strSplit('全部都是中文', 10), '<br />'; echo strSplit('全a部b都c是d中e文', 10), '<br />'; 输出: 1234567 1234567890 1234中文… 全部都是… 全a部b都…
解决中英文字符串长度问题函数
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@