ホームページ >バックエンド開発 >PHPチュートリアル >PHP 関数 substr、mb_substr、mb_strcut 中国語の比較をインターセプトする

PHP 関数 substr、mb_substr、mb_strcut 中国語の比較をインターセプトする

WBOY
WBOYオリジナル
2016-06-23 13:36:001119ブラウズ

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).'
echo mb_strlen($cn_str).'
echo iconv_strlen($cn_str).'
';//26

?>

3. 結論

PHP 拡張ライブラリをインストールする必要があります。そうでない場合は、さまざまな状況に適応するインターセプト関数を作成する必要があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。