![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
php
1
public function cutStr($string, $start ,$sublen, $extstring='
', $code = 'UTF-8')
2
{
3
if ($code == 'UTF-8')
4
{
5
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
6
preg_match_all($pa, $string, $t_string);
7
if(count($t_string[0]) - $start > $sublen)
8
return join('', array_slice($t_string[0], $start, $sublen)).$extstring;
9
return join('', array_slice($t_string[0], $start, $sublen));
10
} else {
11
$start = $start*2;
12
$sublen = $sublen*2;
13
$strlen = strlen($string);
14
$tmpstr = '';
15
for($i=0; $i<$strlen; $i++)
16
{
17
if($i>=$start && $i<($start+$sublen))
18
{
19
if(ord(substr($string, $i, 1))>129)
20
{
21
$tmpstr.= substr($string, $i, 2);
22
} else {
23
$tmpstr.= substr($string, $i, 1);
24
}
25
}
26
if(ord(substr($string, $i, 1))>129) $i++;
27
}
28
if(strlen($tmpstr)<$strlen ) $tmpstr.= $extstring;
29
return $tmpstr;
30
}
31
}
可以歇歇了!!
posted @
2009-01-04 21:36
狼问苍穹
阅读(
198)
评论()
编辑
收藏
举报