0

以前に選択した言語に基づいてutf8文字を検証したいと思います。それを行う方法はありますか?つまり、ヒンディー語を選択している場合、ユーザーが他の言語(スペイン語、中国語など)を入力するのを制限したいのです。

4

1 に答える 1

0

文字がすべて特定の Unicode ブロックからのものであることを確認できます。ヒンディー語はわかりませんが、ウィキペディアのページによると、通常はデバナーガリー文字で書かれているため、この特定のケースではこれが機能する可能性があります。

// permit devanagari, white space, and numbers 
if (preg_match('/^[\p{Devanagari}\p{Z}\p{N}]+$/u', $text) {
    echo 'all well';
} else {
    echo 'illegal characters';
}

PCRE のドキュメントで、使用できるブロックのリストを調べることができます。ただし、言語は同じブロックの文字で書かれているため、このアプローチは誰かがトルコ語のフォーラムに英語を投稿するのを止めることはありません.

于 2012-07-25T09:19:48.423 に答える