首页
IT
登录
6mi
u
盘
搜
搜 索
IT
截取中文字符串
截取中文字符串
xiaoxiao
2021-03-25
141
/**
* 截取中文字符串
*/
function
msubstr(
$str
,
$start
=
0
,
$length
,
$charset
=
"utf-8"
,
$suffix
=false
){
if
(
function_exists
(
"mb_substr"
)){
if
(
$suffix
)
return
mb_substr
(
$str
,
$start
,
$length
,
$charset
)
.
"..."
;
else
return
mb_substr
(
$str
,
$start
,
$length
,
$charset
); }
elseif
(
function_exists
(
'iconv_substr'
)) {
if
(
$suffix
)
return
iconv_substr
(
$str
,
$start
,
$length
,
$charset
)
.
"..."
;
else
return
iconv_substr
(
$str
,
$start
,
$length
,
$charset
); }
$re
[
'utf-8'
]
=
"/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"
;
$re
[
'gb2312'
]
=
"/[x01-x7f]|[xb0-xf7][xa0-xfe]/"
;
$re
[
'gbk'
]
=
"/[x01-x7f]|[x81-xfe][x40-xfe]/"
;
$re
[
'big5'
]
=
"/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"
;
preg_match_all
(
$re
[
$charset
],
$str
,
$match
);
$slice =
join
(
""
,
array_slice
(
$match
[
0
],
$start
,
$length
));
if
(
$suffix
)
return $slice.
"…"
;
return $slice
; }
转载请注明原文地址: https://ju.6miu.com/read-3922.html
技术
最新回复
(
0
)