PHP는 중국어 문자열의 길이를 계산하고, 문자열을 숫자로 변환하고, PHP는 문자열을 분할하고, PHP 문자열 길이, ph

WBOY
풀어 주다: 2016-07-29 08:53:27
원래의
1458명이 탐색했습니다.

중국 웹사이트는 일반적으로 gbk/gb2312 또는 utf-8의 두 가지 인코딩을 선택합니다.
gbk 인코딩의 각 중국어 문자는 2바이트를 차지합니다. 예를 들면 다음과 같습니다.

<code><span>$zhStr</span> = ‘您好,中国!’;
<span>echo</span> strlen(<span>$zhStr</span>); <span>// 输出:12</span></code>
로그인 후 복사
<code>utf-8编码下每个中文字符所占字节为3,例:
</code>
로그인 후 복사
<code><span>$zhStr</span> = ‘您好,中国!’;
<span>echo</span> strlen(<span>$zhStr</span>); <span>// 输出:18</span></code>
로그인 후 복사

그렇다면 이 중국어 문자열 세트의 길이를 계산하는 방법은 무엇일까요? 어떤 사람들은 중국어 문자열의 길이를 gbk에서 2로 나누거나 utf-8 인코딩에서 3으로 나누는 것만으로는 충분하지 않다고 말할 수 있습니다. 하지만 문자열은 정직하지 않으며 99%의 경우 중국어와 영어가 혼합되어 표시된다는 점을 고려해야 합니다.
이것은 WordPress의 코드 조각입니다. 먼저 정규식을 사용하여 문자열을 개별 단위로 분해한 다음 문자열의 길이인 단위 수를 계산하는 것이 주요 아이디어입니다. UTF-8로 인코딩된 내용은 처리 가능) :

<code><span>$zhStr</span> = ‘您好,中国!’;
<span>$str</span> = ‘Hello,中国!’;
<span>// 计算中文字符串长度</span><span><span>function</span><span>utf8_strlen</span><span>(<span>$string</span> = null)</span> {</span><span>// 将字符串分解为单元</span>
preg_match_all(“/./us”, <span>$string</span>, <span>$match</span>);
<span>// 返回单元个数</span><span>return</span> count(<span>$match</span>[<span>0</span>]);
}
<span>echo</span> utf8_strlen(<span>$zhStr</span>); <span>// 输出:6</span><span>echo</span> utf8_strlen(<span>$str</span>); <span>// 输出:9</span></code>
로그인 후 복사

아래에는 중국어 문자열의 길이를 정확하게 계산하는 함수를 캡슐화했습니다.

<code><span><span>function</span><span>count_strlen</span><span>(<span>$string</span> = null)</span>
{</span><span>$fileType</span> = mb_detect_encoding(<span>$string</span> , <span>array</span>(<span>'UTF-8'</span>,<span>'GBK'</span>,<span>'LATIN1'</span>,<span>'BIG5'</span>)) ; <span>//判断字符串中文编码的类型</span><span>$length</span> = iconv_strlen(<span>$string</span>,<span>$fileType</span>);<span>//根据字符编码计算字符串长度</span><span>return</span><span>$length</span>;
}

<span>$str</span> = <span>"中文45汶"</span>;
<span>$len</span> = count_strlen(<span>$str</span>);
<span>echo</span><span>$len</span>; <span>//输出5</span></code>
로그인 후 복사
').addClass('pre- 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 문자열과 PHP 내용을 포함하여 중국어 문자열의 길이를 계산하는 PHP를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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