PHP 関数 substr を使用して中国語文字をインターセプトすると、主に substr が中国語の文字を半分に「見た」可能性があるため、文字化けが発生する可能性があります。
解決策:
1. 文字化けを回避するには、mbstring 拡張ライブラリの mb_substr インターセプトを使用します。
2. インターセプト関数を自分で作成しますが、効率は mbstring 拡張ライブラリを使用するほど高くありません。
3. インターセプトされた文字列を出力するだけの場合は、substr($str, 0, 30).chr(0) のように実装できます。
substr() 関数はテキストを分割できますが、分割するテキストに漢字が含まれている場合は、mb_substr()/mb_strcut 関数を使用することができます。 mb_strcut は substr() に似ていますが、mb_substr()/mb_strcut の最後にパラメータを 1 つ追加するだけで、文字列のエンコーディングを設定できます。ただし、ほとんどのサーバーは php_mbstring.dll を php で開く必要があります。 .ini。
例:
リーリー出力: このように私の言葉
リーリー出力: このように
mb_substr は文字を単語ごとに分割し、mb_strcut は文字をバイトごとに分割しますが、どちらも文字の半分を生成しません。
PHPを使用して文字化けせずに中国語のテキスト文字列をインターセプトする方法
リーリー参考記事:
phpでのsubstr文字列インターセプト関数の例の詳細な説明
phpでのsubstr文字列インターセプト関数の使用法
中国語のPHP文字列インターセプト機能をサポート