国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

substr(),mb_substr()及mb_strcut函數用法與區別

2024-09-04 11:48:12
字體:
來源:轉載
供稿:網友

在php中substr(),mb_substr()及mb_strcut三個函數都是字符截取函數,但是substr截取中文時會有亂碼,而后兩者支持中文截取,下面我來介紹介紹。

substr()函數

substr(string,start,length)

string表示要截取的對象,start表示從哪個位置開始截取,0表示從頭開始,正數表示從這個數的位置后面截取,負數表示從結尾算開始截取的位置,但依然是從左到右截,length表示截取長度.負數表示排除或忽略結尾多少個字符.代碼如下:

  1. <?php  
  2. $siteurl = 'www.survivalescaperooms.com'
  3. print_r (substr($siteurl,4));exit
  4. //則返回:  Vevb.com表示從頭第4個字符開始,返回后面的所有字符. 

實例代碼如下:

$siteurl = 'www.survivalescaperooms.com';print_r (substr($siteurl,-6,2));exit;

如果要截取雙字節的漢字.則要用PHP mb_substr函數或mb_strcut函數,但這兩個函數依賴php擴展php_mbstring.dll組件,所以要配置你的服務器.即把php安裝目錄中的php_mbstring.dll文件復制到你的windows 2003 的c盤的Windows/system32目錄中.

舉個例子:

echo mb_substr('這樣一來我的字符串就不會有亂碼^_^', 0, 7, 'utf-8');

輸出:這樣一來我的字,代碼如下

echo mb_strcut('這樣一來我的字符串就不會有亂碼^_^', 0, 7, 'utf-8');

輸出:這樣一

從上面的例子可以看出,mb_substr是按字來切分字符,而mb_strcut是按字節來切分字符,但是都不會產生半個字符的現象……代碼如下:

  1. <?php 
  2. echo mb_substr('飛花院博客feihuayuan',0,9); 
  3. //返回: 飛花院 
  4. echo mb_substr('飛花院博客feihuayuan',0,9,'utf-8'); 
  5. //則返回: 飛花院博客feih 
  6. mb_strcut('飛花院博客feihuayuan',0,9,'utf-8'); 
  7. 則返回:飛花院 
  8. ?> 

再舉個例子,有一段文字,分別用mb_substr和mb_strcut來做切分,代碼如下:

  1. <?php 
  2. $str = '我是一串比較長的中文-'
  3. echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8'); 
  4. echo "<br>"
  5. echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); 
  6. ?> 
  7. /*輸出結果如下: 
  8. mb_substr:我是一串比較 
  9. mb_strcut:我是 
  10. */ 

本文章總結:從上面實例可以看得出來,substr只支持單字節的,這樣只適合英文截取,而mb_substr函數是雙字體截取了,正好可用于中文了,而mb_strcut是三字節了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 咸宁市| 讷河市| 三亚市| 林甸县| 洛宁县| 郯城县| 沅江市| 项城市| 楚雄市| 宁陵县| 东丽区| 潼关县| 安庆市| 金堂县| 拉萨市| 五峰| 汾阳市| 鄄城县| 万盛区| 佛坪县| 眉山市| 永吉县| 宣武区| 平利县| 济南市| 阜平县| 南岸区| 安平县| 内黄县| 鹤庆县| 格尔木市| 新野县| 武义县| 昌乐县| 绩溪县| 会泽县| 保康县| 绥芬河市| 凤台县| 耒阳市| 噶尔县|