|
<?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)
|