mb_substr函數是substr函數的升級版,mb_substr支持中文截取并且不會出現亂碼問題,下面我來介紹一下mb_substr基礎知識.
例,代碼如下:
- <?php
- $str = ‘這樣一來我的字符串就不會有亂碼^_^’;
- echo “mb_substr:” . mb_substr($str, 0, 7, ‘utf-8′);
- //結果:這樣一來我的字
- echo “<br>”;
- echo “mb_strcut:” . mb_strcut($str, 0, 6, ‘utf-8′);
- //結果:這樣
- ?>
從上面的例子可以看出,mb_substr是按字來切分字符,而mb_strcut是按字節來切分字符,但是都不會產生半個字符的現象.
在實際使用過程中需要和mb_strlen配合使用,mb_strlen的使用方法和strlen類似,只是多了一個編碼參數:mb_strlen("我是要被計算長度的字符","gbk");結果是11.
詳細的使用例子,比如字符串超過20個就需要截取,代碼如下:
- if(mb_strlen($str, "gbk") >20)
- {
- $str = mb_substr($str, 0, 20, "gbk");
- }
注意:確保你的Windows/system32下有php_mbstring.dll這個文件,沒有就從你Php安裝目錄extensions里拷入Windows/system32里面.
2.在windows目錄下找到php.ini打開編輯,搜索mbstring.dll,找到 ;extension=php_mbstring.dll把前面的;號去掉,這樣mb_substr函數就可以生效了.
新聞熱點
疑難解答