PHP截取中文字符串函数
/**
** 截取中文字符串
**/
function msubstr($str, $start=0, $length, $charset=“utf-8”, $suffix=true){
if(function_exists(“mb_substr”)){
s
l
i
c
e
=
m
b
s
u
b
s
t
r
(
slice= mb_substr(
slice=mbsubstr(str, $start, $length, $charset);
}elseif(function_exists(‘iconv_substr’)) {
s
l
i
c
e
=
i
c
o
n
v
s
u
b
s
t
r
(
slice= iconv_substr(
slice=iconvsubstr(str,
s
t
a
r
t
,
start,
start,length,$charset);
}else{
$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]/”;
r
e
[
′
b
i
g
5
′
]
=
"
/
[
x
01
−
x
7
f
]
∣
[
x
81
−
x
f
e
]
(
[
x
40
−
x
7
e
]
∣
x
a
1
−
x
f
e
]
)
/
"
;
p
r
e
g
m
a
t
c
h
a
l
l
(
re['big5'] = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"; preg_match_all(
re[′big5′]="/[x01−x7f]∣[x81−xfe]([x40−x7e]∣xa1−xfe])/";pregmatchall(re[$charset], $str, $match);
s
l
i
c
e
=
j
o
i
n
(
"
"
,
a
r
r
a
y
s
l
i
c
e
(
slice = join("",array_slice(
slice=join("",arrayslice(match[0], $start, $length));
}
f
i
x
=
′
′
;
i
f
(
s
t
r
l
e
n
(
fix=''; if(strlen(
fix=′′;if(strlen(slice) < strlen($str)){
$fix=’…’;
}
return $suffix ?
s
l
i
c
e
.
slice.
slice.fix : $slice;
}
PHP截取中文字符串函数
最新推荐文章于 2023-07-05 21:34:45 发布