function cut_str($sourcestr,$cutlength) {
$returnstr ='';
$i=0;
$n=0;
$str_length=strlen($sourcestr);//문자열의 바이트 수
(($n< ;$ 절단 길이) 및 ($i<=$str_length))
{
$temp_str=substr($sourcestr,$i,1)
$ascnum=Ord($temp_str);//Get 문자열
if ($ascnum>=224)에서 $i 번째 문자의 ASCII 코드 //ASCII 비트가 224보다 큰 경우
{
//UTF-8에 따름 인코딩 사양, 연속된 3개의 문자는 단일 문자로 계산됩니다.
$returnstr=$returnstr.substr($sourcestr,$i,3)
$i=$i 3; //실제 바이트는 다음과 같이 계산됩니다. 3
$n; // 문자열 길이는 1
}
elseif ($ascnum>=192) //ASCII 비트 높이가 192인 경우
{
//에 따르면 UTF-8 인코딩 사양에서는 2개의 연속 문자를 결합하여 단일 문자로 계산합니다.
$returnstr=$returnstr.substr($sourcestr,$i,2)
$i=$i 2; 실제 Byte는 2로 계산됩니다.
$n; // 문자열 길이는 1입니다.
}
elseif ($ascnum>=65 && $ascnum<=90) //대문자인 경우
{
$returnstr=$returnstr.substr($sourcestr ,$i,1);
$i=$i 1; //실제 바이트 수는 여전히 1로 계산됩니다.
$n; //단, 전체적인 외관을 고려하면 대문자는 하나의 상위비트 문자로 간주됩니다
}
else //그 외의 경우에는 소문자, 반각 구두점 등
{
$ returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$ i 1; //실제 바이트 수는 1입니다.
$n=$n 0.5 //소문자 -width 문장 부호는 상위 비트 문자 너비의 절반입니다...
}
}
if ($str_length>$cutlength){
$returnstr = $returnstr "..."; //길이를 초과하면 끝에 줄임표를 추가합니다.
}
return $returnstr;