CakePHP の Text ヘルパーに truncate という指定された文字列を任意の長さに省略するメソッドがあります。 しかし、このメソッドは全角文字を考慮していないため全角文字に用いると文字化けすることがあります。 そこでこのメソッドを全角文字に対応させてみました。 function truncate($text, $length, $ending = '…', $exact = true) { if (strlen($text) < = $length) { return $text; } else { mb_internal_encoding("UTF-8"); if (mb_strlen($text) > $length) { $length -= mb_strlen($ending); if (!$exact) { $text = preg_replace('/\s+?(\