php進行中文字符串的截取時,會經常用到二個函數iconv_substr和mb_substr,對這二個函數應該如何選擇呢?參考下本文介紹的例子就明白了。
示例代碼,用到了函數substr與iconv_substr,mb_substr 代碼如下:
- <html>
- <head><meta charset='utf-8'>
- <title>截取中文字符串_腳本之家_www.jb51.net</title>
- </head>
- <body>
- <?php
- $str=;
- echo substr($str,0,4);
- echo '<br>';
- echo iconv_substr($str,0,4,'utf-8');
- echo '<br>';
- echo mb_substr($str,0,4,'utf-8');
- ?>
- </body>
- </html>
說明:以上代碼用到了二個函數iconv_substr和mb_substr,均可以在當前字符下進行字符串截取,以達到中文字符截取的不亂碼。
應該如何選擇呢?
1、iconv庫在某些操作系統上可能運行不正確,需要安裝GNU擴展庫以保證它的正常運行。mb_substr函數的兼容性更好。
2、iconv函數會先將當前字符串轉換為相應的編碼再進行截取,而mb函數則是直接根據指定的編碼進行截取(提供安全的多字節截取),所以mb函數的截取效率更高。
因此,mb_substr函數進行中文字符串的截取為最合適的選擇。
新聞熱點
疑難解答