截取字符串
2016-08-28 PHP 761
{
if(strlen($string) <= $length) {
return $string;
}
$pre = chr(1);
$end = chr(1);
$string = str_replace(array(\'&\', \'"\', \'<\', \'>\'), array($pre.\'&\'.$end,
{ if(strlen($string) <= $length) { return $string; } $pre = chr(1); $end = chr(1); $string = str_replace(array('&', '"', '<', '>'), array($pre.'&'.$end, $pre.'"'.$end, $pre.'<'.$end, $pre.'>'.$end), $string); $strcut = ''; if(strtolower(CHARSET) == 'utf-8') { $n = $tn = $noc = 0; while($n < strlen($string)) { $t = ord($string[$n]); if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) { $tn = 1; $n ; $noc ; } elseif(194 <= $t && $t <= 223) { $tn = 2; $n = 2; $noc = 2; } elseif(224 <= $t && $t <= 239) { $tn = 3; $n = 3; $noc = 2; } elseif(240 <= $t && $t <= 247) { $tn = 4; $n = 4; $noc = 2; } elseif(248 <= $t && $t <= 251) { $tn = 5; $n = 5; $noc = 2; } elseif($t == 252 || $t == 253) { $tn = 6; $n = 6; $noc = 2; } else { $n ; } if($noc >= $length) { break; } } if($noc > $length) { $n -= $tn; } $strcut = substr($string, 0, $n); } else { $_length = $length - 1; for($i = 0; $i < $length; $i ) { if(ord($string[$i]) <= 127) { $strcut .= $string[$i]; } else if($i < $_length) { $strcut .= $string[$i].$string[ $i]; } } } $strcut = str_replace(array($pre.'&'.$end, $pre.'"'.$end, $pre.'<'.$end, $pre.'>'.$end), array('&', '"', '<', '>'), $strcut); $pos = strrpos($strcut, chr(1)); if($pos !== false) { $strcut = substr($strcut,0,$pos); } return $strcut.$dot; }
很赞哦! (0)
文章评论
-
-
-
0条评论