>백엔드 개발 >PHP 튜토리얼 >g236 PHP 문자열 인코딩 차단 기능(utf-8 및 gb2312와 호환 가능)

g236 PHP 문자열 인코딩 차단 기능(utf-8 및 gb2312와 호환 가능)

WBOY
WBOY원래의
2016-07-29 08:39:481011검색

코드 복사 코드는 다음과 같습니다.


//문자열의 길이를 가로채세요. 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 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.