<?php
/*
*截取字串
*bilibo@2011-06-23
*/

 

class StringHelper extends AppHelper {

 

function CutStr($string, $sublen, $start = 0, $code = 'UTF-8') {



if($code == 'UTF-8') {

 

$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]/";
preg_match_all($pa, $string, $t_string);

 

if( count( $t_string[0] ) - $start > $sublen ) {

 

return join('', array_slice($t_string[0], $start, $sublen));

 

}

 

return join('', array_slice($t_string[0], $start, $sublen));

 

} else {

 

$start = $start * 2;
$sublen = $sublen * 2;
$strlen = strlen($string);
$tmpstr = '';

 

for($i=0; $i<$strlen; $i++) {

 

if($i>=$start && $i<($start+$sublen)) {

 

if(ord(substr($string, $i, 1))>129) $tmpstr.= substr($string, $i, 2);

 

else $tmpstr.= substr($string, $i, 1);
}

 

if( ord( substr($string, $i, 1 ) ) > 129 ) $i++;

 

}

 

if( strlen($tmpstr) < $strlen )

 

return $tmpstr;

 

}

 

}
}
?>

 

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()