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