您好,登錄后才能下訂單哦!
本篇文章為大家展示了mb_substr函數(shù)如何在php中使用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取字符串
(PHP 4 >= 4.0.6, PHP 5)
$str 要獲取字符串的目標(biāo)字符串(字符串起始位置為0)
$start,$str中要使用的第一個字符的位置
$length,獲取的子字符串的長度(注意不是結(jié)束位置)
$encoding,可指定字符編碼(一般用于處理中文字符時使用,同時這個問題碰到的非常多)
示例:
<?php mb_internal_encoding ("UTF-8"); //如果把UTF-8改為編碼,下面針對于中文字符串處理的值會改變。 echo mb_internal_encoding().""; //獲取字符編碼為ISO-8859-1 echo mb_substr('abcdefghijk',0,9).""; //abcdefghi echo mb_substr('abcdefghijk',1,5).""; //bcdef echo mb_substr('我們都是中國人',0,9).""; //我們都是中國人 echo mb_substr('我們都是中國人',0,9,'gb2312').""; //我們都是中 echo mb_substr('我們都是中國人',0,9,'utf-8'); //我們都是中國人 ?>
總結(jié):
1、在處理英文字符串的時候,該函數(shù)的第四個參數(shù)($encoding)可以忽略。
2、在處理中文字符串的時候,就要小心了,一定要考慮編碼問題,編碼不同,中文的值也不同。
3、在中文字符串導(dǎo)入數(shù)據(jù)庫時,就顯得更為重要了。
4、處理字符串或文本的編碼能力,是衡量程序員功力的一項標(biāo)準(zhǔn)。
補(bǔ)充:substr和mb_substr的區(qū)別
異同點(diǎn):
兩個函數(shù)都是截取字符串的長度,不同的是mb_substr
可以針對多字節(jié)編碼的漢字進(jìn)行截取,從而防止亂碼的出現(xiàn)
實例說明:
示例1:
<?php $chuan="我是中國人!"; echo substr($chuan,0,3); echo '<br />'; echo mb_substr($chuan,0,3,'utf8'); ?>
運(yùn)行結(jié)果:
我
我是中
在utf8編碼下,由于一個漢字占3個字節(jié),所以第一個輸出的是: 我
第二個輸出的是: 我是中
示例2:
<?php $chuan="我是中國人!"; echo substr($chuan,0,-4); echo '<br />'; echo mb_substr($chuan,0,-2,'utf8'); ?>
運(yùn)行結(jié)果:
我是中國
我是中國
上述內(nèi)容就是mb_substr函數(shù)如何在php中使用,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。