이 기사의 예에서는 PHP에서 중국어 문자열을 가로채는 기능을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
//중국어 문자열 가로채기
함수 substr_zh($string,$sublen,$start=0,$code='UTF-8'){
if($code=='UTF-8'){
$pa = "/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]| xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";
preg_match_all($pa,$string,$t_string);
if(count($t_string[0])-$start > $sublen){
return Join('',array_slice($t_string[0],$start,$sublen))."...";
//array_slice()는 조건, 매개변수(배열, 시작 위치, [길이])를 기반으로 배열에서 값 세그먼트를 가져옵니다
}그밖에{
Join('',array_slice($t_string[0],$start,$sublen));
반환
}
}그밖에{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0;$i<$strlen;$i ){
if($i>$start && $i<($start $sublen)){
If(ord(substr($string,$i,1))>129){
//ord(): 문자열
의 첫 번째 문자의 ASCII 값을 반환합니다.
//substr(): 문자열
의 일부를 반환합니다.
$tmpstr .= substr($string,$i,2);
}그밖에{
$tmpstr .= substr($string,$i,1);
}
}
if(ord(substr($string,$i,1))>129){
$i ;
}
if(strlen($tmpstr)<$strlen){
$tmpstr .= "...";
}
}
$tmpstr; 반환
}
}
$string ="고가차가 딜레마를 일으키고, 상하이협회는 마법사를 무서워하고, 오른발이 너무 귀엽습니다";
echo substr_zh($string,10,0,'gb2312');
?>
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.