묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
php책을 보고 공부하던 중 아래 소스가 아무리 생각해도 이해가 가지 않네요.
책에 제대로 설명도 안돼있고 인터넷을 뒤져봐도 해결을 못봤습니다.
제일 궁금한건 $ishan1,$ishan2가 어디에 쓰는 변수인가 하는겁니다.
아래 소스가 어떻게 돌아가는지 분석 좀 해주세요. 부탁드립니다.
##### 지정한 길이 이상의 문자열을 자르는 함수.
function str_cut($msg,$cut_size) {
if($cut_size > strlen($msg))
return $msg;
$ishan1=0;
$ishan2=0;
for ($i=0;$i<strlen($msg);$i++) {
if($ishan1==1)
$ishan2=1;
if(ord($msg[$i]) >127 && $ishan1==0) {
$ishan2=0;
$ishan1=1;
}
if($ishan2==1)
$ishan1=0;
if (($i+1)==$cut_size) {
if ($ishan2!=1) break;
$temp_str.=$msg[$i];
break;
}
$temp_str.=$msg[$i];
}
$temp_str.="...";
return $temp_str;
}
문자열 자르는 함수 소스 분석좀 해주세요
2007.08.07 15:22
php책을 보고 공부하던 중 아래 소스가 아무리 생각해도 이해가 가지 않네요.
책에 제대로 설명도 안돼있고 인터넷을 뒤져봐도 해결을 못봤습니다.
제일 궁금한건 $ishan1,$ishan2가 어디에 쓰는 변수인가 하는겁니다.
아래 소스가 어떻게 돌아가는지 분석 좀 해주세요. 부탁드립니다.
##### 지정한 길이 이상의 문자열을 자르는 함수.
function str_cut($msg,$cut_size) {
if($cut_size > strlen($msg))
return $msg;
$ishan1=0;
$ishan2=0;
for ($i=0;$i<strlen($msg);$i++) {
if($ishan1==1)
$ishan2=1;
if(ord($msg[$i]) >127 && $ishan1==0) {
$ishan2=0;
$ishan1=1;
}
if($ishan2==1)
$ishan1=0;
if (($i+1)==$cut_size) {
if ($ishan2!=1) break;
$temp_str.=$msg[$i];
break;
}
$temp_str.=$msg[$i];
}
$temp_str.="...";
return $temp_str;
}