substr() 関数を使用してテキストを分割できますが、分割するテキストに中国語の文字が含まれている場合は、mb_substr()/mb_strcut 関数を使用することができます。 /mb_strcut は substr() に似ています。 mb_substr()/mb_strcut の最後にパラメータを 1 つ追加して文字列のエンコーディングを設定するだけですが、ほとんどのサーバーは php_mbstring.dll を開かないため、php_mbstring.dll を開く必要があります。 php.ini。
例:
<?php echo mb_substr(‘这样一来我的字符串就不会有乱码^_^’, 0, 7, ‘utf-8′); ?>
出力: このように私の単語
<?php echo mb_strcut(‘这样一来我的字符串就不会有乱码^_^’, 0, 7,’utf-8′); ?>
出力: この方法
上記の例からわかるように、mb_substr は文字を単語ごとに分割し、mb_strcut は文字をバイトごとに分割します。しかし、半文字現象は起こりません...
上記の段落はインターネットからの抜粋であり、結果は私自身のテストによって得られました。
個人的な理解:
mb_substr() 関数は、英語または中国語の文字の単位を表します。
mb_strcut() 関数には、中国語文字用に 3 つのユニットと英語文字用の 1 つのユニットがあります。
例:
<?php $str = “这样abcd一来”; echo “mb_substr:”.mb_substr($str, 0, 5, ‘utf-8′); echo “<br>”; echo “mb_strcut:”.mb_strcut($str, 0, 8, ‘utf-8′); ?>
出力結果は以下の通り:
mb_substr: 这样abc mb_strcut: 这样ab
添付ファイル:
strlenとmb_strlenの違い:
<?php $str=”中文a字1符”; echo strlen($str); echo “<br />”; echo mb_strlen($str,’UTF8′); ?>
出力結果:
14 6
上記はsubstr()中国語の文字列の長さをインターセプトするために PHP によって使用される mb_strcut() 関数のコンテンツ。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。