>  기사  >  백엔드 개발  >  PHP 중국어 문자열 가로채기 방법 예시 요약

PHP 중국어 문자열 가로채기 방법 예시 요약

怪我咯
怪我咯원래의
2017-07-16 17:55:161969검색

이 글은 주로 PHP 중국어문자열 가로채기방법 예제를 소개합니다. 일반적인 문자열 가로채기 기능을 분석하고 비교하며, PHP 중국어 문자열 가로채기 문제를 해결하기 위한 완전한 예를 제공합니다. 이 기사에서는 매우 실용적인 기술인 PHP에서 중국어 문자열을 가로채는 방법을 요약합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같이 분석됩니다.

한자를 가로채기 위해

PHP 함수

substr을 사용하면 문자가 깨질 수 있습니다. 주로 substr이 한자를 반으로 "볼" 수 있기 때문입니다. 해결책은 다음과 같습니다.

1. 문자 왜곡을 방지하려면 mb

string

확장 라이브러리의 mb_substr 차단을 사용하세요. 2. 차단 기능을 직접 작성하지만 mbstring 확장 라이브러리를 사용하는 것만큼 효율성이 높지 않습니다.

3. 단지 가로채는 문자열을 출력하는 것이라면 substr($str, 0, 30).chr(0)과 같이 구현할 수 있습니다.

substr() 함수는 텍스트를 분할할 수 있지만 분할할 텍스트에 한자가 포함되어 있는 경우 종종 문제가 발생합니다. 이 경우 mb_substr()/mb_strcut 함수를 사용할 수 있습니다. mb_strcut은 substr()과 유사합니다. mb_substr()/mb_strcut 끝에 매개변수를 하나 더 추가하면 문자열 인코딩을 설정할 수 있습니다. 그러나 대부분의 서버는 php_mbstring.dll을 열지 않습니다. .ini.

두 가지 예를 들어보세요:

① mb_substr 예

<?php
echo mb_substr(&#39;这样一来我的字符串就不会有乱码^_^&#39;, 0, 7, &#39;utf-8&#39;);
//输出:这样一来我的字
?>

② mb_strcut 예

<?php
echo mb_strcut(&#39;这样一来我的字符串就不会有乱码^_^&#39;, 0, 7, &#39;utf-8&#39;);
//输出:这样一
?>

위의 예를 통해 mb_substr은 문자를 단어 단위로 분할하고 mb_strcut은 문자를 바이트 단위로 분할하지만 둘 다 생성되지 않는다는 것을 알 수 있습니다. 반 캐릭터.

깨진 문자 없이 중국어 텍스트 문자열을 가로채는 PHP 방법:

<?php
//此函数完成带汉字的字符串取串
function substr_CN($str,$mylen){ 
$len=strlen($str);
$content=&#39;&#39;;
$count=0;
for($i=0;$i<$len;$i++){
if(ord(substr($str,$i,1))>127){
$content.=substr($str,$i,2);
$i++; 
}else{
$content.=substr($str,$i,1);
}
if(++$count==$mylen){
break;
}
}
echo $content;
}

$str="34中华人民共和国56";
substr_CN($str,3);//输出34中
?>

위 내용은 PHP 중국어 문자열 가로채기 방법 예시 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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