[php] 1byte, 2byte 섞여 있을 때 짜르기
function StringCut( $String, $Length, $EndMark='' )
{
// 자를필요없으면 리턴
if( strlen( $String ) <= $Length ) return $String;
for( $i=0; $i
{
//아스키코드 129 번부터는 2 Byte 문자
//2 Byte 문자인경우 1 Byte 를 더 읽은 샘으로 침.
if( ord( substr( $String, $i-1, $i ) ) > 128 )
{
$i++;
$Length++;
}
//$Length 까지 왔을경우 리턴
if( $i >= $Length )
return substr( $String, 0, $Length ).$EndMark;
}
// 자를필요가 없지만 글자수와 byte 수를 비교하지 못함으로
// 루프를 다돌아도 리턴되지 않는다면 그냥 월래 문자열 return;
return $String;
}
function StringCut( $String, $Length, $EndMark='' )
{
// 자를필요없으면 리턴
if( strlen( $String ) <= $Length ) return $String;
for( $i=0; $i
//아스키코드 129 번부터는 2 Byte 문자
//2 Byte 문자인경우 1 Byte 를 더 읽은 샘으로 침.
if( ord( substr( $String, $i-1, $i ) ) > 128 )
{
$i++;
$Length++;
}
//$Length 까지 왔을경우 리턴
if( $i >= $Length )
return substr( $String, 0, $Length ).$EndMark;
}
// 자를필요가 없지만 글자수와 byte 수를 비교하지 못함으로
// 루프를 다돌아도 리턴되지 않는다면 그냥 월래 문자열 return;
return $String;
}
'스크랩 > 전산/전자' 카테고리의 다른 글
테터에서 로그인이 안될 때... (0) | 2006.05.12 |
---|---|
[팁]아파치 가상 유저 호스트 설정하기 (0) | 2006.05.08 |
네이버, 국내 포털 최초로 '검색 API' 공개 (0) | 2006.03.28 |
리누스 토발즈 GPL3에 반론,「DRM은 나쁜 것이 아니다」 (0) | 2006.02.07 |