php で文字列をインターセプトする際の文字化けの解決策: ASCII エンコーディングと中国語エンコーディングの一貫性のないバイナリ範囲を使用してそれらを区別し、さらに substr() 関数を通じて文字列をインターセプトできます。
解決策のアイデア:
ASCII エンコードと中国語エンコードの一貫性のないバイナリ範囲を使用して区別し、substr() を使用します。文字列をインターセプトする機能。
(推奨チュートリアル:php ビデオ チュートリアル)
コードは次のとおりです:
注: これは utf-8 専用です。エンコーディング
=$length){ return $str; } //初始化,统计字符串的个数, $count = 0; for($i=0;$i<$length;$i++){ //达到个数跳出循环,$i即为要截取的长度 if($count == $len){ break; } $count++; //ord函数是获取字符串的ASCII编码,大于等于十六进制0x80的字符串即为中文字符串 if(ord($str{$i}) >= 0x80){ $i +=2;//中文编码的字符串的长度再加2 } } //如果要截取的个数超过了字符串的总个数,那么我们返回全部字符串,不带省略号 if($len > $count){ return $str; }else{ return substr($str,0,$i).'...'; } }
関連する推奨事項:phpトレーニング
以上がPHPでインターセプトした文字列が文字化けしている場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。