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

首頁 > 語言 > PHP > 正文

php字符串截取函數mb_substr用法實例分析

2024-05-05 00:09:56
字體:
來源:轉載
供稿:網友

本文實例講述了php字符串截取函數mb_substr用法。分享給大家供大家參考,具體如下:

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )-截取字符串

(PHP 4 >= 4.0.6, PHP 5)

$str 要獲取字符串的目標字符串(字符串起始位置為0)
$start,$str中要使用的第一個字符的位置
$length,獲取的子字符串的長度(注意不是結束位置)
$encoding,可指定字符編碼(一般用于處理中文字符時使用,同時這個問題碰到的非常多)

示例:

<?phpmb_internal_encoding ("UTF-8");  //如果把UTF-8改為編碼,下面針對于中文字符串處理的值會改變。echo mb_internal_encoding()."";  //獲取字符編碼為ISO-8859-1echo mb_substr('abcdefghijk',0,9)."";  //abcdefghiecho mb_substr('abcdefghijk',1,5)."";  //bcdefecho mb_substr('我們都是中國人',0,9)."";  //我們都是中國人echo mb_substr('我們都是中國人',0,9,'gb2312')."";  //我們都是中echo mb_substr('我們都是中國人',0,9,'utf-8');  //我們都是中國人?>

總結:

1、在處理英文字符串的時候,該函數的第四個參數($encoding)可以忽略。
2、在處理中文字符串的時候,就要小心了,一定要考慮編碼問題,編碼不同,中文的值也不同。
3、在中文字符串導入數據庫時,就顯得更為重要了。
4、處理字符串或文本的編碼能力,是衡量程序員功力的一項標準。

補充:substr和mb_substr的區別

異同點:

兩個函數都是截取字符串的長度,不同的是mb_substr可以針對多字節編碼的漢字進行截取,從而防止亂碼的出現

實例說明:

示例1:

<?php$chuan="我是中國人!";echo substr($chuan,0,3);echo '<br />';echo mb_substr($chuan,0,3,'utf8');?>

運行結果:


我是中

在utf8編碼下,由于一個漢字占3個字節,所以第一個輸出的是: 我
第二個輸出的是: 我是中

示例2:

<?php$chuan="我是中國人!";echo substr($chuan,0,-4);echo '<br />';echo mb_substr($chuan,0,-2,'utf8');?>

運行結果:

我是中國
我是中國

兩個輸出的都是: 我是中國
第一個長度為負4,就會省略掉!和人,從零開始,就會包括我是中國
第二個同理

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 敖汉旗| 林西县| 大宁县| 永德县| 滦平县| 收藏| 攀枝花市| 张家口市| 金昌市| 泰安市| 九龙县| 麻江县| 体育| 南漳县| 鱼台县| 南阳市| 桐乡市| 奈曼旗| 谢通门县| 莱州市| 深水埗区| 华亭县| 迁西县| 石台县| 福清市| 长顺县| 乌兰县| 霍城县| 卢湾区| 新泰市| 晋中市| 漾濞| 钟山县| 湘阴县| 台州市| 乌鲁木齐县| 革吉县| 梁河县| 古浪县| 临漳县| 达拉特旗|