PHP实现中文字符串截取无乱码
生活随笔
收集整理的這篇文章主要介紹了
PHP实现中文字符串截取无乱码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在我們學習PHP知識的過程中,PHP截取字符串應該是一個非常常見的字符串基礎操作了,想必大家都比較熟悉這方面知識點。但是有些新手朋友們可能遇到過,當截取中英文字符串時出現亂碼的情況,其實這個也是非常容易解決的。首先我們要了解關于中英文占多少字節的問題。ASCII碼:一個中文漢字占兩個字節的空間。UTF-8編碼:一個中文(含繁體)等于三個字節。Unicode編碼:一個中文(含繁體)等于兩個字節。
下面我們就通過幾個簡單的代碼示例為大家詳細介紹關于PHP截取中英字符串且無亂碼的相關知識。一、關于substr函數截取字符串<?phpecho substr("PHP中文網", 0, 5);substr:返回字符串的子串。substr()中第一個參數表示要截取的字符串,第二個參數表示從0位置開始截取,第三個參數表示截取長度。截取“PHP中文網”前5個字節,結果如下: 如圖顯示亂碼,也就是說當我們使用substr函數進行中英文字符串截取時,會出現亂碼。二、關于mb_substr函數截取字符串<?phpecho mb_substr("PHP中文網", 0, 5);mb_substr:獲取部分字符串。截取“PHP中文網”前5個字符,結果如下: 如圖截取了前五個字符,并且沒有出現亂碼。注:mb_substr是根據字符數來執行截取字符串。三、關于mb_strcut函數截取字符串<?phpecho mb_strcut("PHP中文網", 0, 7);截取“PHP中文網”前7個字節,結果如下:
從圖中可以看到,我們要截取7個字節,但是只顯示截取了“PHP中”這6個字節。由于一個漢字等于三個字節,那么這里第7個字節就不會顯示了。 綜上所述,如果大家遇到要截取中文字符串并無亂碼的需求時,可以選擇后兩種方法(mb_substr()和mb_strcut())
從圖中可以看到,我們要截取7個字節,但是只顯示截取了“PHP中”這6個字節。由于一個漢字等于三個字節,那么這里第7個字節就不會顯示了。 綜上所述,如果大家遇到要截取中文字符串并無亂碼的需求時,可以選擇后兩種方法(mb_substr()和mb_strcut())
?
轉載于:https://www.cnblogs.com/sgm4231/p/9771496.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的PHP实现中文字符串截取无乱码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设备管理
- 下一篇: websocket 聊天室 demo (