0

さまざまな文字セットを持つ文字列がたくさんあります。$charset変数には、現在の文字列の文字セットが含まれます。

$content = iconv($charset, 'UTF-8', $content);

これが完了したら、マルチバイトの同等物ではなくstrposstrlen、などを使用しても安全ですか? substrpreg_matchもよく使うので質問させてください。したがってPREG_OFFSET_CAPTURE、文字列内の単語の位置を取得するために使用する場合、その値を使用しmb_substrて単語の前のすべてを削除することはできません。

4

2 に答える 2

0

strlen() のような関数は、文字ではなくバイトをカウントします。

詳細については、 PHP マニュアルの注記を参照してください。

ノート:

strlen() は、文字列の文字数ではなくバイト数を返します。

標準の strops ()、strlen()、substr() などの関数をオーバーロードするために、php.ini 設定mbstring.func_overloadを有効にしていない限り、UTF-8 で作業している場合はmb_*関数を使用してください。 () は文字数をカウントします

于 2013-07-31T17:33:54.080 に答える