제로보드 utf-8 환경에서 깨짐없이 한글 자르기(cut_str 수정)
WebPrograming관련 :
2007. 3. 25. 02:52
반응형
몇일전 제로보드를 utf-8 환경으로 컨버팅 한적이 있는데.
그후에 몇가지 오류가 발견되었다.
이건 그중에 하나로 최근게시물 같은데서 문자열을 자를때 잘린 문자가 깨져서 나오는 경우이다.
php 의 strlen 으로 한글 한글자의 길이를 확인해본결과 3 이었다.
기존에 zb4 가 개발되던 euc-kr 환경은 2였기때문에 cut_str 함수를 수정해 줄필요가 있다.
수정은 아래와같이 했다.
lib.php 파일의 cut_str 함수를 아래와같이 수정한다.
function cut_str($msg,$cut_size) {
if($cut_size<=0) return $msg;
if(ereg("\[re\]",$msg)) $cut_size=$cut_size+4;
if($cut_size<=0) return $msg;
if(ereg("\[re\]",$msg)) $cut_size=$cut_size+4;
$max_size = $cut_size;
$i=0;
while(1) {
if (ord($msg[$i])>127)
$i+=3;
else
$i++;
$i=0;
while(1) {
if (ord($msg[$i])>127)
$i+=3;
else
$i++;
if (strlen($msg) < $i)
return $msg;
return $msg;
if ($max_size == 0)
return substr($msg,0,$i)."...";
else
$max_size--;
}
}
return substr($msg,0,$i)."...";
else
$max_size--;
}
}
끄읏.
반응형
'WebPrograming관련' 카테고리의 다른 글
웹 표준 가이드 (0) | 2007.04.21 |
---|---|
TABLE의 수평,수직 정렬 (0) | 2007.03.25 |
테이블, 이미지 테두리관련 스타일 (0) | 2007.03.24 |