close

轉自 http://www.wibibi.com/info.php?tid=122 http://www.wibibi.com/info.php?tid=92

--

 

PHP mb_substr() 函式,取得部分字串,可加入編碼如 UTF-8

mb_substr 是用來取得部分字串的函式,用法與 substr() 類似,不過 mb_substr 多了編碼的判斷,對於咱們臺灣人來說相對的實用,因為繁體中文編碼一直都是在字串處理中要謹慎處理的,mb_substr 比 substr 更能處理繁體中文的字串判斷。

PHP mb_substr() 函式基本語法

string mb_substr ( string $str , int $start , int $length , string $encoding )


string $str 是要判斷的字串,int $start 是初始的字串位置,請用整數,int $length 是要取得的字串結束位置,string $encoding 就是放置你要判斷的編碼啦!例如萬國碼 UTF-8。

PHP mb_substr() 函式範例說明
<?php
 $string="這是wibibi測試字串";
 echo mb_substr( $string,0,8,"utf-8");
?>

在此範例中有個字串叫做「這是wibibi測試字串」,我們故意參雜了中文字與英文字,接著輸出 mb_substr 截取的字串,從第 0 個字擷取到第 8 個字,編碼採用 UTF-8 編碼,這樣跑出來的結果就是「這是wibibi」這 8 個字囉!

 

--

 

PHP mb_strlen() 函式,可加入編碼判斷字串長度

如果你有用過 strlen() 函式,用來判斷字串長度算是相當好用,但是要判斷繁體中文字的字數就沒辦法做到了,所以這時候可以使用另一個相似的函式,那就是 mb_strlen(),因為 mb_strlen() 可以加入編碼判斷,像是萬國碼 UTF-8 等,語法如下。

PHP mb_strlen() 函式基本語法
mb_strlen( string, "string encoding" )
PHP mb_strlen() 函式的第一個參數 string 是要計算長度的字串,必要項目,而第二個參數 string encoding 則是要判斷的編碼,可以自定,例如萬國碼就用 utf-8,以下舉個簡單的範例。

PHP mb_strlen() 函式範例
<?php
 $string="天氣很好";
 echo mb_strlen( $string, "utf-8");
?>
這個範例會輸出的結果是 4,因為 mb_strlen 知道你要判斷的編碼是萬國碼 uft-8,所以 PHP 自動把「天氣真好」這四個繁體中文字型認出來了,如果採用的是 strlen() 函式,則輸出結果就會是 12 囉!

 

--

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()