UTF8で文字列をカットする方法.
私はこの機能をウェブから検索しました:
function cutString($str, $lenght = 100, $end = ' …', $charset = 'UTF-8', $token = '~') {
$str = strip_tags($str);
if (mb_strlen($str, $charset) >= $lenght) {
$wrap = wordwrap($str, $lenght, $token);
$str_cut = mb_substr($wrap, 0, mb_strpos($wrap, $token, 0, $charset), $charset);
return $str_cut .= $end;
} else {
return $str;
}
}
しかし、この関数の結果はあまり良くありません。200文字切るように設定すると110文字ほど返ってきますが、200文字ほど必要です。