1

キャラクターを使っていると問題に気づきます¦。3000 文字の制限に対して、テキストエリアに 3000 個のアンパサンドを入力できます。文字列の長さを示す JavaScript は 3000 と表示され、テキストを投稿すると、php はそれが 3000 であると¦表示します。¦html コードがあるため¦¦なぜ php が問題を示しているのかわかりません。どうしてこれなの?

編集: PHP は、それぞれ¦の文字列の長さが 2 であるのに対し、他の文字は通常 1 であることを示しています。 /htmlcodes.htm

4

1 に答える 1

2

複数文字の UTF-8 文字を扱っている可能性があります。ファイルが実際にUTF-8であると仮定して、それらを正しくカウントするには、これを試してください:

mb_internal_encoding("UTF-8");
mb_regex_encoding("UTF-8"); // Not actually needed in this case, but add it if you use preg_ functions
echo mb_strlen("¦");

mb_* 関数は、マルチバイト文字を処理するためのものです。

于 2013-06-07T05:53:20.380 に答える