php按字符無(wú)亂碼截取中文的方法
本文實(shí)例講述了php按字符無(wú)亂碼截取中文的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
<?php //$str 待截取的字符串 //$len 截取的字符個(gè)數(shù) //$chars 已經(jīng)截取的字符數(shù) //$res 保存的字符串 //$chars 保存已經(jīng)截取的字符串個(gè)數(shù) //$offset 截取的偏移量 //$length 字符串的字節(jié)數(shù) //若$len>$str的字符個(gè)數(shù),造成無(wú)謂的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); ?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
- PHP統(tǒng)計(jì)目錄中文件以及目錄中目錄大小的方法
- php實(shí)現(xiàn)scws中文分詞搜索的方法
- php阿拉伯?dāng)?shù)字轉(zhuǎn)中文人民幣大寫(xiě)
- php封裝好的人民幣數(shù)值轉(zhuǎn)中文大寫(xiě)類(lèi)
- 跨瀏覽器PHP下載文件名中的中文亂碼問(wèn)題解決方法
- phpExcel中文幫助手冊(cè)之常用功能指南
- php上傳文件中文文件名亂碼的解決方法
- PHP中文處理 中文字符串截取(mb_substr)和獲取中文字符串字?jǐn)?shù)
- php處理json時(shí)中文問(wèn)題的解決方法
- 編寫(xiě)PHP程序檢查字符串中的中文字符個(gè)數(shù)的實(shí)例分享
相關(guān)文章
php中base64_decode與base64_encode加密解密函數(shù)實(shí)例
這篇文章主要介紹了php中base64_decode與base64_encode加密解密函數(shù),實(shí)例分析了base64加密解密函數(shù)的具體用法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11PHP 抽象方法與抽象類(lèi)abstract關(guān)鍵字介紹及應(yīng)用
抽象方法指沒(méi)有方法體的方法,只要一個(gè)類(lèi)里面有一個(gè)方法是抽象方法,那么這個(gè)類(lèi)就要定義為抽象類(lèi),不了解的朋友可以看看2014-10-10PHP+Oracle本地開(kāi)發(fā)環(huán)境搭建方法詳解
在本篇文章中小編給大家分享了關(guān)于PHP+Oracle本地開(kāi)發(fā)環(huán)境搭建的步驟和技巧,需要的朋友們學(xué)習(xí)下。2019-04-04PHP 數(shù)據(jù)結(jié)構(gòu) 算法描述 冒泡排序 bubble sort
多次循環(huán)進(jìn)行比較,每次比較時(shí)將最大數(shù)移動(dòng)到最上面。每次循環(huán)時(shí),找出剩余變量里的最大值,然后減小查詢范圍。這樣經(jīng)過(guò)多次循環(huán)以后,就完成了對(duì)這個(gè)數(shù)組的排序2011-07-07PHP郵件群發(fā)機(jī)實(shí)現(xiàn)代碼
這篇文章主要介紹了PHP郵件群發(fā)機(jī)實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-02-02php使用PDO從數(shù)據(jù)庫(kù)表中讀取數(shù)據(jù)的實(shí)現(xiàn)方法(必看)
下面小編就為大家?guī)?lái)一篇php使用PDO從數(shù)據(jù)庫(kù)表中讀取數(shù)據(jù)的實(shí)現(xiàn)方法(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06php中cURL?error?60:SSL?certificate?problem:?unable?to?
PHP中cURL錯(cuò)誤60通常表示SSL證書(shū)問(wèn)題,即無(wú)法獲取本地頒發(fā)機(jī)構(gòu)證書(shū),這通常是由于cURL無(wú)法驗(yàn)證遠(yuǎn)程服務(wù)器的SSL證書(shū)導(dǎo)致的,本給大家介紹了如何解決php中cURL?error?60,需要的朋友可以參考下2023-12-12php 判斷頁(yè)面或圖片是否經(jīng)過(guò)gzip壓縮的方法
下面小編就為大家?guī)?lái)一篇php 判斷頁(yè)面或圖片是否經(jīng)過(guò)gzip壓縮的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04