中国語を自動的に認識できる 2 つの PHP 文字列インターセプト関数を提供します。気に入ったら、ぜひご覧ください。
文字列関数をインターセプトするための 2 つの PHP チュートリアルを提供します。記事をインターセプトする場合、これは非常に優れています。
ヘッダー ( "content-type:text/html; charset=utf-8" );
関数 strcut($string, $length, $dot = '...',$charset='utf-8')
{$strlen = strlen($string);
if($strlen
$strcut = '';
if(strto lower($charset) == 'utf-8')
{
$n = $tn = $noc = 0;
while($n < $strlen)
{
$t = ord($string[$n]);
if($t == 9 || $t == 10 || (32
$tn = 1;
} elseif(194
$tn = 2; $n += 2;
} elseif(224
$tn = 3; $n += 3;
} elseif(240
$tn = 4; $n += 4;
} elseif(248
$tn = 5; $n += 5;
elseif($t == 252 || $t == 253)
{
$tn = 6; $n += 6;
}
その他
{$n++;
}
If($noc >= $length) ブレーク;
}
If($noc > $length) $n -= $tn;
$strcut = substr($string, 0, $n);}
for($i = 0; $i {
その他
{
$dotlen = strlen($dot); $maxi = $length - $dotlen - 1;
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
}
var_dump($strcut);
$strcut を返します;
}
echo "jjjkkkllll";
echo strcut("xiangkkxiangkkxiangkkxiangkkkllllllllllllmmmmmmmmmmmmmmmmxiangdongyang",12)
文字インターセプト機能2
If($len false を返します;
}
他{
$slen=strlen($str);
if($len>=$slen)
$str;
を返します 他{
for($i=0;$i If(ord(substr($str,$i,1))>0xa0)
$i++;
}
If($i>=$len)
substr($str,0,$len);を返します
elseif(ord(substr($str,$i,1))>0xa0)
substr($str,0,$len-1);
を返します その他
substr($str,0,$len);を返します
}
}
}