> 백엔드 개발 > PHP 튜토리얼 > PHP에서 한자 수를 계산하는 방법

PHP에서 한자 수를 계산하는 방법

怪我咯
풀어 주다: 2023-03-11 22:06:01
원래의
5659명이 탐색했습니다.

PHP에서 중국어 문자 수를 올바르게 계산하는 방법은 무엇입니까? 이것은 오랫동안 나를 괴롭혔던 문제입니다. PHP에는 문자열의 길이를 계산할 수 있는 많은 함수가 있습니다. 예를 들어 다음 예에서는

strlen
로그인 후 복사
로그인 후 복사
mb_strlen
로그인 후 복사
로그인 후 복사
mb_strwidth
로그인 후 복사
로그인 후 복사
로그인 후 복사

의 세 가지 함수를 사용하여 문자열을 테스트합니다. 통계 문자열의 길이를 살펴보겠습니다. 한자는 여러 바이트로 계산됩니다.

[code]echo strlen("你好ABC") . "";
# 输出 9
echo mb_strlen("你好ABC", 'UTF-8') . "";
# 输出 5
echo mb_strwidth("你好ABC") . "";
#输出 7
로그인 후 복사

위 테스트에서 알 수 있듯이,

strlen
로그인 후 복사
로그인 후 복사

한자는 중국어에 관계없이 3바이트로 계산됩니다. 또는 영어인 경우

1

바이트로 계산되고

mb_strlen
로그인 후 복사
로그인 후 복사
는 중국어를

2

바이트로 계산하므로

mb_strwidth
로그인 후 복사
로그인 후 복사
로그인 후 복사
가 우리가 원하는 것입니다. 즉, 중국어의 경우

2바이트, 영어의 경우 1바이트

입니다. 또한

mb_strwidth
로그인 후 복사
로그인 후 복사
로그인 후 복사

를 사용하여 문자열을 가로채는 것이 좋습니다. 이 역시 중국어는 2바이트, 영어는 1바이트

방식으로 계산되며, 단어 수가 가로채기 요건을 초과하는 경우 이 기능을 사용하면 됩니다. 또한 '끝에 ...'를 자동으로 추가합니다.

mb_strimwidth
로그인 후 복사

끝에 'utf-8' 인코딩 매개변수를 추가하면 중국어 가로채기 문제를 피할 수 있습니다.

위 내용은 PHP에서 한자 수를 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿