php截取字符串函數(shù)substr,iconv_substr,mb_substr示例以及優(yōu)劣分析
示例代碼,用到了函數(shù)substr與iconv_substr,mb_substr
<html>
<head><meta charset='utf-8'>
<title>截取中文字符串_腳本之家_chabaoo.cn</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>
說明:
以上代碼用到了二個(gè)函數(shù)iconv_substr和mb_substr,均可以在當(dāng)前字符下進(jìn)行字符串截取,以達(dá)到中文字符截取的不亂碼。
應(yīng)該如何選擇呢?
1、iconv庫(kù)在某些操作系統(tǒng)上可能運(yùn)行不正確,需要安裝GNU擴(kuò)展庫(kù)以保證它的正常運(yùn)行。mb_substr函數(shù)的兼容性更好。
2、iconv函數(shù)會(huì)先將當(dāng)前字符串轉(zhuǎn)換為相應(yīng)的編碼再進(jìn)行截取,而mb函數(shù)則是直接根據(jù)指定的編碼進(jìn)行截取(提供安全的多字節(jié)截取),所以mb函數(shù)的截取效率更高。
因此,mb_substr函數(shù)進(jìn)行中文字符串的截取為最合適的選擇。
相關(guān)文章
基于PHP的簡(jiǎn)單采集數(shù)據(jù)入庫(kù)程序
前幾天有一朋友要我?guī)妥鲆粋€(gè)采集新聞信息的程序,抽了點(diǎn)時(shí)間寫了個(gè)PHP版本的,隨筆記錄下。2014-07-07
php求兩個(gè)目錄的相對(duì)路徑示例(php獲取相對(duì)路徑)
這篇文章主要介紹了php求兩個(gè)目錄的相對(duì)路徑示例(php獲取相對(duì)路徑),需要的朋友可以參考下2014-03-03

