0 レビュー
0 回答
php-英語以外の文字を数えようとすると間違った結果になります
したがって、私のWebページには、ユーザーがテキストを入力するための入力フォーム('accept-charset = "UTF-8"'を使用)があり、これがphpページに投稿されます。 phpページでは、入力をスペースで区切ってから、その単語の文字の総数に等しいキー値を使用して配列に格納する必要があります。同じ長さの単語について心配する必要はありません。
例:
ユーザーが「defghijkabc」と入力します
-
$ stringArr [1] [0] = "a"
-
$ stringArr [2] [0] = "bc"
-
$ stringArr [3] [0] = "def"
-
$ stringArr [5] [0] = "ghijk"
英語の文字に関してはこれで問題なく動作しますが、他の言語の文字を入力しようとすると、キーの値が常に間違っています。ヒンディー語からのこの手紙を例にとると、「मैं」は、キー値が1ではなく21になります。これに対する回避策は何ですか?
$string = "मैं मैंमैं"; $stringLenArr = preg_split('/\s+/', $string); $stringArr = array(); foreach($stringLenArr as $value) { // What I used before: // $stringArr[strlen($value)][] = $value; // Attempted solution which still only works with English $stringArr[mb_strlen($value, "UTF-8")][] = $value; }
わかりやすくするために、入力する言語は1つだけにする必要があります。そのため、ソリューションで入力ページに言語選択ボックスが必要な場合は、問題ありません。
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。