phpcms v9 更改系统函数str_cut
发布时间:2021-12-18 12:59 所属栏目:19 来源:互联网
导读:function str_cut($string, $length, $dot = ) { $strlen = strlen($string); if($strlen = $length) return $string; $string = str_replace(array(, , , , , , , , , , ), array( , , , , , , , , , , ), $string); $strcut = ; if(strtolower(CHARSET) ==
function str_cut($string, $length, $dot = '') { $strlen = strlen($string); if($strlen <= $length) return $string; $string = str_replace(array(' ', '&', '"', ''', '“', '”', '—', '<', '>', '·', '…'), array(' ', '&', '"', "'", '“', '”', '—', '<', '>', '·', '…'), $string); $strcut = ''; if(strtolower(CHARSET) == 'utf-8') { $n = $tn = $noc = 0; while($n < $strlen) { $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 { $dotlen = strlen($dot); $maxi = $length - $dotlen - 1; for($i = 0; $i < $maxi; $i++) { $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i]; } //Cuoxin.com } $strcut = str_replace(array('&', '"', "'", '<', '>'), array('&', '"', ''', '<', '>'), $strcut); return $strcut.$dot; } (编辑:ASP站长网) |
相关内容
网友评论
推荐文章
热点阅读