首頁 每日程式設計 PHP知識 PHP如何實作中文字串截取無亂碼?(圖文+影片)

PHP如何實作中文字串截取無亂碼?(圖文+影片)

Oct 10, 2018 pm 01:49 PM

本篇文章主要給大家介紹PHP截取中文字串並且無亂碼的方法詳解。

在我們學習PHP知識的過程中,PHP截取字串應該是一個很常見的字串基礎運算了,想必大家都比較熟悉這方面知識點。

但是有些新手朋友可能遇到過,當截取中英文字串時出現亂碼的情況,其實這個也是非常容易解決的。

首先我們要了解關於中英文佔多少位元組的問題。

ASCII碼:一個中文漢字佔兩個位元組的空間。

UTF-8編碼:一個中文(含繁體)等於三個位元組。

Unicode編碼:一個中文(含繁體)等於兩個位元組。

下面我們就透過幾個簡單的程式碼範例為大家詳細介紹關於PHP截取中英字串且無亂碼的相關知識。

一、關於substr函數截取字串

<?php
echo substr("PHP中文网", 0, 5);
登入後複製

substr:傳回字串的子字串。

substr()中第一個參數表示要截取的字串,第二個參數表示從0位置開始截取,第三個參數表示截取長度。

截取「PHP中文網」前5個字節,結果如下:

PHP如何實作中文字串截取無亂碼?(圖文+影片)

#如圖顯示亂碼,也就是說當我們使用substr函數進行中英文字串截取時,會出現亂碼。

二、關於mb_substr函數截取字串

<?php
echo mb_substr("PHP中文网", 0, 5);
登入後複製

mb_substr:取得部分字串。

截取「PHP中文網」前5個字符,結果如下:

PHP如何實作中文字串截取無亂碼?(圖文+影片)

#如圖截取了前五個字符,並且沒有出現亂碼。

註:mb_substr是根據字元數來執行截取字串。

三、關於mb_strcut函數截取字串

<?php
echo mb_strcut("PHP中文网", 0, 7);
登入後複製

截取「PHP中文網」前7個位元組,結果如下:

PHP如何實作中文字串截取無亂碼?(圖文+影片)

從圖中可以看到,我們要截取7個位元組,但只顯示截取了「PHP」這6個位元組。由於一個漢字等於三個字節,那麼這裡第7個位元組就不會顯示了。

綜上所述,如果大家遇到要截取中文字串並無亂碼的需求時,可以選擇後兩種方法(mb_substr()和mb_strcut())。

本篇就是關於PHP中文字串截取無亂碼的相關知識介紹,希望對需要的朋友有幫助!

想要了解更多PHP知識,可以追蹤PHP中文網PHP影片教學,歡迎大家學習參考。

以上是PHP如何實作中文字串截取無亂碼?(圖文+影片)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)