程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php substr,iconv_substr,mb_substr

php substr,iconv_substr,mb_substr

編輯:關於PHP編程

php進行中文字符串的截取時,會經常用到二個函數iconv_substr和mb_substr,對這二個函數應該如何選擇呢?參考下本文介紹的例子就明白了。

示例代碼,用到了函數substr與iconv_substr,mb_substr

 1 <html>
 2 <head><meta charset='utf-8'>
 3 <title>截取中文字符串_腳本學堂_www.jbxue.com</title>
 4 </head>
 5 <body>
 6 <?php
 7 $str='123腳本學堂456歡迎大家的光臨';
 8 echo substr($str,0,4);
 9 echo '<br>';
10 echo iconv_substr($str,0,4,'utf-8');
11 echo '<br>';
12 echo mb_substr($str,0,4,'utf-8');
13 ?>
14 </body>
15 </html>

 

說明:
以上代碼用到了二個函數iconv_substr和mb_substr,均可以在當前字符下進行字符串截取,以達到中文字符截取的不亂碼。
應該如何選擇呢?

1、iconv庫在某些操作系統上可能運行不正確,需要安裝GNU擴展庫以保證它的正常運行。mb_substr函數的兼容性更好。
2、iconv函數會先將當前字符串轉換為相應的編碼再進行截取,而mb函數則是直接根據指定的編碼進行截取(提供安全的多字節截取),所以mb函數的截取效率更高。
因此,mb_substr函數進行中文字符串的截取為最合適的選擇。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved