<?php Header ("content-type:text/html; Charset=utf-8 "); function Strcut ($string, $length, $dot = ' ... ', $charset = ' utf-8 ') { $strlen = strlen ($string); if ($strlen <= $length) return $string; $strcut = '; if (Strtolower ($charset) = = ' Utf-8 ') { $n = $tn = $noc = 0; while ($n < $strlen) { $t = Ord ($string [$n]); if ($t = = 9 | | $t = 10 | | (<= $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 + 3; ElseIf (<= $t && $t <= 247) { $tn = 4; $n + 4; $noc + 4; } elseif (248 <= $t && $t <= 251) { $tn = 5; $n + 5; $noc + 5; ElseIf ($t = = 252 | | $t = = 253) { $tn = 6; $n + 6; $noc + 6; } 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]; } } Var_dump ($strcut); return $strcut; } echo "Jjjkkklll"; Echo Strcut ("to KK toward KK toward KK toward Kkklllllllllllmmmmmmmmmmmmmmm Xiangdongyang", 12) |