基于语言验证utf8字符,php

时间:2012-07-25 05:11:29

标签: php zend-framework unicode utf-8

我想根据之前选择的语言验证utf8字符。这样做的任何方式???意思是,如果我选择印地语,那么我想限制用户输入其他语言(如西班牙语,中文等)

1 个答案:

答案 0 :(得分:0)

您可以检查字符是否来自某些Unicode块。我不懂印地语,但是通过维基百科页面,它通常用Devanagari字母表编写,所以这可能适用于这种特殊情况:

// 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 documentation中查找可以使用的块列表。这种方法不会阻止某人在土耳其论坛上发布英语,因为语言是用同一个区块中的字符编写的。