開発中、必要に応じて文字列をインターセプトすることがよくありますが、それが英語の文字列の場合は問題なく、インターセプトしても文字化けは起こりませんが、中国語の文字列の場合は文字化けしないことがよくあります。インターセプトの長さに応じて、文字化けが発生する可能性があります。文字化けせずに中国語の文字列をインターセプトする方法を実装してみましょう:
<?php /** * ======================================= * Created by Zhihua_W. * Author: Zhihua_W * Date: 2017/1/7 0009 * Time: 下午 4:10 * Project: PHP开发小技巧 * Power: 实现中文字串截取无乱码的方法 * ======================================= */ /** * 实现中文字串截取无乱码的方法 * @param int $start 起始位置 * @param int $length 长度 * @return string */ function getSubstr($string, $start, $length) { if (mb_strlen($string, 'utf-8') > $length) { $str = mb_substr($string, $start, $length, 'utf-8'); return $str . '...'; } else { return $string; } } ?>
関連記事:
以上がPHP開発のヒント(10) - 中国語文字列を文字化けせずにインターセプトする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。