코드 복사 코드는 다음과 같습니다.
//문자열의 길이를 가로채세요. utf-8 및 gb2312 인코딩을 지원합니다. gb2312인 경우 먼저 utf-8로 변환하고, utf-8을 기준으로 가로채고 다시 변환합니다.
function cut_string($str,$from=1,$length=10,$code='utf- 8',$rear='...'){
if($code!='utf-8'){//항상 문자열을 utf-8 인코딩으로 변환
$str=iconv( $code ,'utf-8',$str);
}
$str_len=mb_strlen($str,'utf-8');//문자열의 길이
if($from>$ str_len ){//가로채기 시작 위치가 문자열 길이보다 큰 경우 다음 $length
$from=$str_len-$length 1
$from=($from<1?1; :$from);
}
//ucs-4 인코딩과 호환
$i=0;//바이트 수
$from_i=0;//차단을 시작할 바이트 위치
$from_len=0 ;//가로채기할 문자 위치 시작
$tag=true;//$from_len에 값이 할당되었는지 표시
for($temp_len=0;($temp_len-$from_len<$ length)||$tag_len ){
$byte_code=ord(substr($str,$i,1));//1바이트 인코딩
if($temp_len 1==$from ){//녹화 차단 시작 몇 바이트의 시작 바이트 위치인 utf-8은 가변 길이 인코딩입니다. 각 문자의 첫 번째 바이트에 따라 문자가 몇 바이트를 차지하는지 판단할 수 있습니다 ;191&&$byte_code<224) {
🎜> }
if($byte_code> 239&&$byte_code<248){
$i =4; $i =5; ;252&&$byte_code< ;255){
$i =6;
}
}
return iconv('utf-8',$code,substr($ str,$from_i,$i-$from_i). $후면);
}
위에서는 g236 콘텐츠를 포함하여 g236 PHP 문자열 인코딩 차단 기능(utf-8 및 gb2312와 호환 가능)을 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.