php字串擷取函式,支援中文擷取

桃子紅了吶發表於2016-11-29
/**
* 基於PHP的 mb_substr,iconv_substr 這兩個擴充套件來擷取字串,中文字元都是按
1個字元長度計算;
* 該函式僅適用於utf-
8編碼的中文字串。
*
* @
param $str 原始字串
* @
param $length 擷取的字元數
* @
param $append 替換截掉部分的結尾字串
* @
return 返回擷取後的字串
*/
function sub_str($str, $length = 0, $append = `…`) {
$str = trim($str);
$strlength = strlen($str);

if ($length == 0 || $length >= $strlength) {
return $str;
}
elseif ($length < 0) {
$length = $strlength + $length;
if ($length < 0) {
$length = $strlength;
}
}

if ( function_exists(`mb_substr`) ) {
$newstr = mb_substr($str, 0, $length, `utf-8`);
}
elseif ( function_exists(`iconv_substr`) ) {
$newstr = iconv_substr($str, 0, $length, `utf-8`);
}
else {
//
$newstr = trim_right(substr($str, 0, $length));
$newstr = substr($str, 0, $length);
}

if ($append && $str != $newstr) {
$newstr .= $append;
}

return $newstr;
}

本文轉自TBHacker部落格園部落格,原文連結:本文轉自TBHacker部落格園部落格,原文連結:xxxxx,如需轉載請自行聯絡原作者,如需轉載請自行聯絡原作者



相關文章