php截取字符串函數(shù)substr,iconv_substr,mb_substr示例以及優(yōu)劣分析
示例代碼,用到了函數(shù)substr與iconv_substr,mb_substr
<html>
<head><meta charset='utf-8'>
<title>截取中文字符串_腳本之家_www.dhdzp.com</title>
</head>
<body>
<?php
$str='123腳本之家456歡迎大家的光臨';
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>
說明:
以上代碼用到了二個函數(shù)iconv_substr和mb_substr,均可以在當前字符下進行字符串截取,以達到中文字符截取的不亂碼。
應(yīng)該如何選擇呢?
1、iconv庫在某些操作系統(tǒng)上可能運行不正確,需要安裝GNU擴展庫以保證它的正常運行。mb_substr函數(shù)的兼容性更好。
2、iconv函數(shù)會先將當前字符串轉(zhuǎn)換為相應(yīng)的編碼再進行截取,而mb函數(shù)則是直接根據(jù)指定的編碼進行截取(提供安全的多字節(jié)截取),所以mb函數(shù)的截取效率更高。
因此,mb_substr函數(shù)進行中文字符串的截取為最合適的選擇。
相關(guān)文章
PHP動態(tài)地創(chuàng)建屬性和方法, 對象的復(fù)制, 對象的比較,加載指定的文件,自動加載類文件,命名空間
這篇文章主要介紹了PHP動態(tài)地創(chuàng)建屬性和方法, 對象的復(fù)制, 對象的比較, 加載指定的文件, 自動加載類文件, 命名空間 的相關(guān)資料,需要的朋友可以參考下2016-05-05
使用php記錄用戶通過搜索引擎進網(wǎng)站的關(guān)鍵詞
為了方便SEO,我們需要記錄用戶通過常見的搜索引擎搜索關(guān)鍵詞,下面是進入你網(wǎng)站的情況的相關(guān)實現(xiàn)代碼,更多的,大家自己拓展咯2014-02-02
淺談PHP解析URL函數(shù)parse_url和parse_str
這篇文章主要介紹了PHP解析URL函數(shù)parse_url和parse_str,并給出了相應(yīng)的示例,非常的實用,有需要的朋友們可以參考下2014-11-11
php set_include_path函數(shù)設(shè)置 include_path 配置選項
這篇文章主要介紹了php set_include_path函數(shù)設(shè)置include_path 配置選項的相關(guān)資料,需要的朋友可以參考下2016-10-10
smarty模板引擎之配置文件數(shù)據(jù)和保留數(shù)據(jù)
這篇文章主要介紹了smarty模板引擎之配置文件數(shù)據(jù)和保留數(shù)據(jù)的方法,實例分析了smarty模板引擎配置文件數(shù)據(jù)及獲取數(shù)據(jù)的具體技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
Laravel如何創(chuàng)建服務(wù)器提供者實例代碼
這篇文章主要給大家介紹了關(guān)于Laravel如何創(chuàng)建服務(wù)器提供者的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
函數(shù)中使用require_once問題深入探討 優(yōu)雅的配置文件定義方法推薦
這篇文章主要介紹了函數(shù)中使用require_once問題深入探討,優(yōu)雅的配置文件定義方法推薦,最終用一個靜態(tài)類來定義配置文件獲勝,完美解決函數(shù)中使用require_once的問題,需要的朋友可以參考下2014-07-07

