Mb_strlen와 strlen 문자열 길이 차이 계산
Strlen
int strlen (문자열 $string)
$str = '123456';
에코 strlen ($STR); 6
$STR = ' AB CD http://www.jzread.com ' /;
에코 strlen ($STR); 20
$ch = '중국';
에코 strlen ($ch); //4
에코 Utf8_strlen ($STR); 20
//
기능 Utf8_strlen ($STR)
{
$count = 0;
위한 ($i = 0; $i < strlen ($STR); $i + +)
{ $value = 오드 ($str [$i]);
경우 ($value > 127)
{
경우 $value > = & & $value < = 223)
$i + +;
ElseIf ($value > 224 = & & $value < = 239)
$i = $i + 2 ;
elseif ($value > = & & $value < = 247)
$i = $난 + 3; 다른
다 ('u t F-8 호환 문자열이 아니라');
}
$count + +;
}
반환 $count
}
여기는에 있다 Mb_strlen 예제
에코 ' < br / > ';
$STR = '중국';
에코 Mb_strlen ($str, 'GBK'); 2 길이 2, 그리고 우리가 Mb_strlen GBK에 대 한 자신의 코드를 설정 4, 여기에서의 출력을 볼 수 있다 때 strlen를 사용 하는 경우에 단지 때 중국 처리.
에코 Mb_strlen ($str, 'u t f 8'); //3
UFT8 인코딩 될 Mb_strlen 매개 변수를 설정 하 고, 그의 길이 3 했다.
중국어와 영어 혼합 행 문자열 길이 인스턴스의 계산에서 보세요
$STR = ' 건설 역 순 http://www.jzread.com/original 문서를 가르치는 ';
다음과 같이 계산
에코 (strlen ($STR) + Mb_strlen ($str, 'u t f 8')) / 2;
에코
출력 결과
10
/*
Strlen / 문자열 길이, 1 중국 2 때 계산 / 문자
Mb_strlen / / 그것의 문자 인코딩 모드, 통계 문자 quot;에 따라
Mb_strlen의 사용에는 PHP 자습서. INI php_mbstring.dll 정면의 넣어야 합니다 ";" 네, 하지만 일반 패키지는 기본적으로 갔다.
원래 사이트 문서 reprinted 주석이 추가 된 소스 http://www.jzread.com/