ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数 substr、mb_substr、mb_strcut 中国語の比較をインターセプトする
1. 関数の説明
3 つの関数 substr、mb_substr、mb_strcut はすべて文字列をインターセプトするために使用されます。違いは、substr は文字列を単語ごとに分割するのに対し、mb_strcut は文字列を単語ごとに分割することです。バイトであり、中国語の文字をインターセプトしても文字の半分も生成されません。
これら 3 つの関数の最初の 3 つのパラメータはまったく同じです。つまり、次のとおりです。
最初のパラメータは操作オブジェクトです
2 番目のパラメータはインターセプトの開始位置です
3 番目のパラメータはインターセプトの数です
mb_substr と mb_strcut 、そして 3 番目のパラメータは4 つのパラメータ: 4 番目のパラメータは、さまざまな文字セットに従って設定できます
//UTF8 漢字の扱いは 3 長さです
//gbk 漢字の扱いは 2 長さです
header( "content-Type:text/html;charset=utf-8");
//内部エンコーディングを設定します
// テスト
$cn_str="釣魚島は中国のヘヘ";
$en_str="これは単なるテストです"; 0,3).'
'; //釣り
echo substr($en_str,0,3). '
'; //これ
// mbsubstr()
echo "mb_substr-3:".mb_substr($cn_str,0,3) を使用します。 '
'; //釣魚島は単語
echo "substr-3:".substr($cn_str,0,3).'
';//釣りはバイトで割る
echo "mb_strcut-3:".mb_strcut($cn_str,0,3).'< br/>
' // バイトで割る
echo "mb_substr-4:".mb_substr($cn_str,0,4).'
echo "substr-4:".substr($cn_str, 0,4).'
'; //釣魚島はバイト単位で区切られています(文字化けが発生します) )
echo "mb_strcut-4:".mb_strcut($cn_str,0,4).'< ;br/>
'; //釣りはバイトで区切られます(文字化けは表示されません)
echo strlen($cn_str).'
?>
3. 結論
PHP 拡張ライブラリをインストールする必要があります。そうでない場合は、さまざまな状況に適応するインターセプト関数を作成する必要があります。