这篇文章主要介绍了php按字符无乱码截取中文的方法,涉及php操作中英文字符串的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了php按字符无乱码截取中文的方法。分享给大家供大家参考。具体实现方法如下:
<?php //$str 待截取的字符串 //$len 截取的字符个数 //$chars 已经截取的字符数 //$res 保存的字符串 //$chars 保存已经截取的字符串个数 //$offset 截取的偏移量 //$length 字符串的字节数 //若$len>$str的字符个数,造成无谓的while循环,($offset<$length限定) function utf8sub($str,$len){ if($len<=0){ return ; } $res=""; $offset=0; $chars=0; $length=strlen($str); while($chars<$len && $offset<$length){ $hign=decbin(ord(substr($str,$offset,1))); if(strlen($hign)<8){ $count=1; }elseif(substr($hign,0,3)=="110"){ $count=2; }elseif(substr($hign,0,4)=="1110"){ $count=3; }elseif(substr($hign,0,5)=="11110"){ $count=4; }elseif(substr($hign,0,6)=="111110"){ $count=5; }elseif(substr($hign,0,7)=="1111110"){ $count=6; } $res.=substr($str,$offset,$count); $offset+=$count; $chars+=1; } return $res; } function utf8sub1($str,$len){ $chars=0; $res=""; $offset=0; $length=strlen($str); while($chars<$len && $offset<$length){ $hign=decbin(ord(substr($str,$offset,1))); if(strlen($hign)<8){ $count=1; }elseif($hign & "11100000"=="11000000"){ $count=2; }elseif($hign & "11110000"=="11100000"){ $count=3; }elseif($hign & "11111000"=="11110000"){ $count=4; }elseif($hign & "11111100"=="11111000"){ $count=5; }elseif($hign & "11111110"=="11111100"){ $count=6; } $res.=substr($str,$offset,$count); $chars++; $offset+=$count; } return $res; } $a="中华ah人民hdj"; echo utf8sub($a,5); ?>
以上就是php按字符无乱码截取中文的方法_php技巧的内容,更多相关内容请关注PHP中文网(www.php.cn)!
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사
<garden> : 정원 재배 - 완전한 돌연변이 가이드
4 몇 주 전ByDDD
<gum> : Bubble Gum Simulator Infinity- 로얄 키를 얻고 사용하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
Nordhold : Fusion System, 설명
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
Mandragora : 마녀 트리의 속삭임 - Grappling Hook 잠금 해제 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
<exp exp> 모호한 : 원정 33- 완벽한 크로마 촉매를 얻는 방법
2 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.