基于php语言验证utf8字符


validate utf8 characters based on language , php

我想根据之前选择的语言验证utf8字符。有什么办法吗???意思是,如果我选择印地语,那么我想限制用户输入其他语言(如西班牙语、中文等)

您可以检查字符是否都来自某些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文档中查找可以使用的块列表。不过,这种方法不会阻止人们在土耳其论坛上发布英语,因为这些语言是用同一块的字符编写的。