PHP が中国語の文字列をインターセプトするとき、多くの場合、iconv_substr と mb_substr という 2 つの関数を使用します。この記事で紹介した事例を参考にすると理解できるでしょう。
関数substrとiconv_substr、mb_substrを使用したサンプルコード
リーリー
説明:
上記のコードは、iconv_substr と mb_substr という 2 つの関数を使用しており、どちらも現在の文字の下にある文字列をインターセプトして、文字化けのない中国語文字インターセプトを実現します。
どうやって選べばいいの?
1. iconv ライブラリは一部のオペレーティング システムでは正しく動作しない可能性があり、正常に動作させるには GNU 拡張ライブラリをインストールする必要があります。 mb_substr 関数の方が互換性が高くなります。
2. iconv 関数はまず現在の文字列 を対応するエンコーディング に変換してからインターセプトしますが、mb 関数は指定されたエンコーディングに従って直接インターセプトします (安全なマルチバイト インターセプトを提供します)。迎撃がより効率的になります。
したがって、mb_substr 関数は、中国語の文字列 をインターセプトするのに最も適切な選択肢です。