コードをコピーします コードは次のとおりです:
//文字列の長さをインターセプトします。 utf-8 および gb2312 エンコードをサポートします。 gb2312 の場合は、まず utf-8 に変換し、utf-8 に基づいてインターセプトしてから元に変換します
function Cut_string($str,$from=1,$length=10,$code='utf-8' ,$rear='...'){
if($code!='utf-8'){//文字列を常に utf-8 エンコーディングに変換します
$str=iconv($code,'utf-8' ,$str);
}
$str_len=mb_strlen($str,'utf-8');//文字列の長さ
if($from>$str_len){//インターセプト開始位置が次より大きい場合文字列の長さ、次の $length をインターセプトします
$from=$str_len-$length+1;
$from=($from<1?1:$from) }
;//バイト数
$from_i =0 ;//インターセプトが開始されるバイト位置
$from_len=0;//インターセプトが開始される文字位置
$tag=true;//$from_len に値が割り当てられているかどうかをマークします
($temp_len=0;($ temp_len- $ from_len&lt; $ length)|| $ tag; $ temp_len ++){
$ byte_code = ord(subst($ str、$ i、1)); // one byte ending
0 && $ byte_code&lt; 128){///// UTF-8 は可変長エンコーディングです。各文字の最初のバイトに基づいて、その文字が占めるバイト数を決定できます。 $i+=3; $byte_code
http://www.bkjia.com/PHPjc/320155.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/320155.html
技術記事
コードをコピーします。コードは次のとおりです。 //文字列の長さをインターセプトします。 utf-8 および gb2312 エンコードをサポートします。 gb2312 の場合は、まず utf-8 に変換し、utf-8 に基づいてインターセプトしてから、関数カットで逆変換します...