在php中,可以利用mb_substr()函數(shù)實(shí)現(xiàn)從第幾位截取中文字符串,該函數(shù)可以從一個(gè)字符串的指定位置開始截取指定長度的子串,并設(shè)置字符編碼;語法“mb_substr(指定的字符串,截取開始位置,截取長度,字符編碼)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版、DELL G3電腦
在對(duì)字符串進(jìn)行處理時(shí),有時(shí)我們需要對(duì)字符串進(jìn)行截取操作。在 PHP 中,截取字符串可以通過 PHP 的預(yù)定義函數(shù) substr() 和mb_substr()來實(shí)現(xiàn)
其中,substr() 函數(shù)對(duì)中文的處理不是很友好,而mb_substr()函數(shù)用于截取中文字符串。
mb_substr() 函數(shù)可以從一個(gè)字符串中截取指定的一部分,與 substr() 函數(shù)不同的是,mb_substr() 函數(shù)不僅對(duì)英文字符有效,對(duì)中文字符同樣有效,其語法格式如下:
mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string
參數(shù) | 描述 |
---|---|
str | 必需。從該 string 中提取子字符串。 |
start |
必需。規(guī)定在字符串的何處開始。
|
length | 可選。規(guī)定要返回的字符串長度。默認(rèn)是直到字符串的結(jié)尾。
|
encoding | 可選。字符編碼。如果省略,則使用內(nèi)部字符編碼。 |
返回值: 返回字符串的提取部分,如果失敗則返回 FALSE,或者返回一個(gè)空字符串。
示例:使用 mb_substr() 函數(shù),截取指定長度的中文字符串。
<?php header("Content-type:text/html;charset=utf-8"); $str = '歡迎訪問php中文網(wǎng),一個(gè)在線學(xué)習(xí)編程的網(wǎng)站。'; echo mb_substr($str,4,null,"utf-8").'<br>'; echo mb_substr($str, -19,null,"utf-8").'<br>'; echo mb_substr($str, 4, 6,"utf-8").'<br>'; echo mb_substr($str, 4, -16,"utf-8").'<br>'; echo mb_substr($str, -19, -13,"utf-8").'<br>'; echo mb_substr($str, -19, 6,"utf-8").'<br>'; var_dump(mb_substr($str, 40,null,"utf-8")); var_dump(mb_substr($str, 4, null,"utf-8")); ?>
推薦學(xué)習(xí):《PHP視頻教程》