작성일 : 15-07-19 16:40
|
[PHP] 문자열 자르기
|
|
|
글쓴이 :
조형래
 조회 : 3,730
|
function strcut_utf8($str, $len ) {
$checkmb=false ;
$tail = '...' ; // 문장끝에 ... 을 붙이거나 다른 걸로 바꿔도 된다
preg_match_all('/[\xE0-\xFF][\x80-\xFF]{2}|./', $str, $match);
$m = $match[0];
$slen = strlen($str); // length of source string
$tlen = strlen($tail); // length of tail string
$mlen = count($m); // length of matched characters
if ($slen <= $len) return $str;
if (!$checkmb && $mlen <= $len) return $str;
$ret = array();
$count = 0;
for ($i=0; $i < $len; $i++) {
$count += ($checkmb && strlen($m[$i]) > 1)?2:1;
if ($count + $tlen > $len) break;
$ret[] = $m[$i];
}
return join('', $ret).$tail ;
}
//// 사용법 strcut = strcut_uft8($str, int length);
|
|