조

count_str 에 관해 질문드립니다.

· 2011-10-27 (목) 15:07:59 · 1433 · 2
최신글을 밖으로 뺄때 한글과 영어를 카운트 하는 수가 서로 다르더군요...

count_str 를 사용하니.. 영어로 된 글일경우에는 한글로 작성된 글보다 길게 나오더군요...

영어랑 한글이랑 카운트 하는 숫자를 다르게 할 수 없나요??
|

댓글 2개

2011-10-28 (금) 14:36:49
common.lib.php에서
function cut_str($str, $len, $suffix="")
{
global $g4;
$s = substr($str, 0, $len);
$cnt = 0;
for ($i=0; $i<strlen($s); $i++)
if (ord($s[$i]) > 127)
$cnt++;
if (strtoupper($g4['charset']) == 'UTF-8')
$s = substr($s, 0, $len - ($cnt % 3));
else
$s = substr($s, 0, $len - ($cnt % 2));
if (strlen($s) >= strlen($str))
$suffix = "";
return $s . $suffix;
}
를
function cut_str($str, $len, $suffix="")
{
global $g4;

$s = substr($str, 0, $len);
$cnt = 0;
for ($i=0; $i<strlen($s); $i++)
if (ord($s[$i]) > 127)
$cnt++;
if (strtoupper($g4['charset']) == 'UTF-8'){
if (CheckChar($s)==TRUE){
$s = substr($s, 0, ($len/1.8) - ($cnt % 3));
}else{
$s = substr($s, 0, $len - ($cnt % 3));
}
}else{
$s = substr($s, 0, $len - ($cnt % 2));
}
if (strlen($s) >= strlen($str))
$suffix = "";
return $s . $suffix;
}
// 영문인지 아닌지 판단
function CheckChar( $strChar ) {
// 글자를 바이너리 10000000 과 비트 AND연산후 10000000 이 되는지를 검사.
return ( ($strChar & chr(128)) == chr(128) ) ? FALSE : TRUE;
}
로 바꿔보세요
와 감사합니다.. 직접 짜신건가요???
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
11-10-27 조회 1,572
11-10-27 조회 1,628
11-10-27 조회 2,272
11-10-27 조회 1,044
11-10-27 조회 1,651
11-10-27 조회 1,098
11-10-27 조회 1,052
11-10-27 조회 1,434
11-10-27 조회 1,218
11-10-27 조회 2,538
11-10-27 조회 1,669
11-10-27 조회 1,102
11-10-27 조회 1,091
11-10-27 조회 1,067
11-10-27 조회 1,387
11-10-27 조회 1,094
11-10-27 조회 1,516
11-10-27 조회 1,124
11-10-27 조회 1,223
11-10-27 조회 1,649