常常遇到有連續的英文會將表格撐開,索性就自已寫了一個可以依字數自動換行的函數,這個函數是使用utf-8編碼,若要使用其它編碼請再自行修改。
function AutoCut($string, $width = 80)
{
$len = mb_strlen($string, 'UTF-8');
for ($i = 0; $i < $len; $i++) {
$parts[] = mb_substr($string, 0, 1, 'UTF-8');
$string = mb_substr($string, 1, $len, 'UTF-8');
}
$Tmp = array();
$len = 0;
$row = 0;
foreach ($parts as $word){
if (mb_strlen($word, "utf-8") == strlen($word)){
$len ++;
}else{
$len += 2;
}
if ($width >= $len){
$Tmp[$row] .= $word;
}else{
$Tmp[++$row] .= $word;
$len = 0;
}
}
return $Tmp;
}