ホームページ >バックエンド開発 >PHPチュートリアル >g236 PHP文字列エンコードインターセプト機能(utf-8、gb2312互換)
コードをコピーします コードは次のとおりです:
//文字列の長さをインターセプトします。 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($ str、$ i、1)); {// 文字は数バイトを占めますが、UTF-8 は各文字の最初の 1 バイトから数バイトを占めると判断できます
{
$i+=3 ; $ byte_code&lt; 248){
}
= 6; ;
}
上記では、g236 の内容を含む、PHP 文字列エンコーディング インターセプト関数 (utf-8 および gb2312 と互換性あり) を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。