<?php
$a = '한글hangul도 포함include되었습니다.';
/**
* cut string in utf-8
* @author gony (http://mygony.com)
* @param $str source string
* @param $len cut length
* @param $checkmb if this argument is true, function treat multibyte character as two bytes. default value is false.
* @param $tail abbreviation symbol
* @return string processed string
*/
function strcut_utf8($str, $len, $checkmb=false, $tail='...') {
preg_match_all('/[\xEA-\xED][\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;
}
echo strcut_utf8($a, 15);
?>
파라미터 설명
String $str : 원본 문자열
Integer $len : 문자열을 자를 길이
Boolean $checkmb : 이 값을 true로 하면 한글을 영문2자와 같이 취급한다. 기본값은 false
String $tail : 생략후 붙일 줄임 기호
반환값
{String} 처리된 문자열
주의!! 이 함수는 UTF-8 문자열을 다룹니다. 다른 charset에는 적용되지 않습니다.
원본글 : http://mygony.com/archives/1110
출처:http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=55142
[출처] [펌]utf-8 에서 한글 자르기 |작성자 사랑굳
'APM' 카테고리의 다른 글
사용자 계정에 PEAR 설치 하기 (0) | 2009.06.26 |
---|---|
mysql 이미 데이터가 들어간 테이블의 UTF-8 및 각종 문자셋 변환 (0) | 2009.06.02 |
PHP5에서 foreach의 변수참조 (예 EUC-KR → UTF-8로 iconv시 유용) (0) | 2009.04.24 |
MySQL euc-kr 데이타 UTF-8로 컨버팅 하기 (0) | 2009.04.23 |
Fedora Core 5에서 Fedora Core 7으로 Upgrade (0) | 2008.12.30 |
댓글