php按字符無亂碼截取中文的方法
更新時間:2015年03月27日 09:33:48 作者:dingding
這篇文章主要介紹了php按字符無亂碼截取中文的方法,涉及php操作中英文字符串的技巧,非常具有實用價值,需要的朋友可以參考下
本文實例講述了php按字符無亂碼截取中文的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:
<?php //$str 待截取的字符串 //$len 截取的字符個數(shù) //$chars 已經(jīng)截取的字符數(shù) //$res 保存的字符串 //$chars 保存已經(jīng)截取的字符串個數(shù) //$offset 截取的偏移量 //$length 字符串的字節(jié)數(shù) //若$len>$str的字符個數(shù),造成無謂的while循環(huán),($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中base64_decode與base64_encode加密解密函數(shù)實例
這篇文章主要介紹了php中base64_decode與base64_encode加密解密函數(shù),實例分析了base64加密解密函數(shù)的具體用法,具有一定的實用價值,需要的朋友可以參考下2014-11-11PHP+Oracle本地開發(fā)環(huán)境搭建方法詳解
在本篇文章中小編給大家分享了關于PHP+Oracle本地開發(fā)環(huán)境搭建的步驟和技巧,需要的朋友們學習下。2019-04-04PHP 數(shù)據(jù)結構 算法描述 冒泡排序 bubble sort
多次循環(huán)進行比較,每次比較時將最大數(shù)移動到最上面。每次循環(huán)時,找出剩余變量里的最大值,然后減小查詢范圍。這樣經(jīng)過多次循環(huán)以后,就完成了對這個數(shù)組的排序2011-07-07php使用PDO從數(shù)據(jù)庫表中讀取數(shù)據(jù)的實現(xiàn)方法(必看)
下面小編就為大家?guī)硪黄猵hp使用PDO從數(shù)據(jù)庫表中讀取數(shù)據(jù)的實現(xiàn)方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06php中cURL?error?60:SSL?certificate?problem:?unable?to?
PHP中cURL錯誤60通常表示SSL證書問題,即無法獲取本地頒發(fā)機構證書,這通常是由于cURL無法驗證遠程服務器的SSL證書導致的,本給大家介紹了如何解決php中cURL?error?60,需要的朋友可以參考下2023-12-12php 判斷頁面或圖片是否經(jīng)過gzip壓縮的方法
下面小編就為大家?guī)硪黄猵hp 判斷頁面或圖片是否經(jīng)過gzip壓縮的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04