检查输入的最佳方法是什么,如果它包含来自其他语言的任何字符。 (英语除外)
答案 0 :(得分:3)
if (preg_match("/[^\x00-\x7F]/",$string)) {
// $string contains at least
} else {
// $string doesn't contain any foreign characters
}
这将检查ascii代码高于127的任何字符,因为如果它更高,则不在英文字母表中。 7位Ascii代码包含每个英文字符。
Ascii Table http://www.cs.utk.edu/~pham/ascii_table.jpg source
答案 1 :(得分:2)
如果这个
preg_match("/[^\x00-\x7F]/",$string)
不起作用(你找到没有结束分隔符'/')然后试试这个
preg_match('/[^\x00-\x7F]/',$string)
答案 2 :(得分:0)
$input = 'abcабв';
$out = array();
preg_match_all(
"|[a-zA-Z]?|",
$input,
$out
);
$ out将包含所有非拉丁字符(абв)。