PHP preg_match 语言相关的解释错误
PHP preg_match language dependent interpretation error
土耳其语字符 Ş İ Ö Ü 不支持。我累了。
<?php
header('Content-Type: text/html; charset=utf-8');
$test = "azAZ09andSpace supported but this turkish characters Ş İ Ö Ü like not supported";
//So it goes to the "else block".
if (preg_match('/^[a-zA-Z0-9 ]+$/', $test)){
echo "match";
}else{
echo "not match"; //return false. Because Ş İ Ö Ü like not supported
}
?>
\pL
匹配任何字母(包括重音字母),因此您可以使用以下内容:
preg_match('/^[\pL0-9 ]+$/u', $test)
类似地,\d
匹配任何数字,\s
匹配任何space字符,所以你也可以使用下面的:
preg_match('/^[\pL\d\s]+$/u', $test)
土耳其语字符 Ş İ Ö Ü 不支持。我累了。
<?php
header('Content-Type: text/html; charset=utf-8');
$test = "azAZ09andSpace supported but this turkish characters Ş İ Ö Ü like not supported";
//So it goes to the "else block".
if (preg_match('/^[a-zA-Z0-9 ]+$/', $test)){
echo "match";
}else{
echo "not match"; //return false. Because Ş İ Ö Ü like not supported
}
?>
\pL
匹配任何字母(包括重音字母),因此您可以使用以下内容:
preg_match('/^[\pL0-9 ]+$/u', $test)
类似地,\d
匹配任何数字,\s
匹配任何space字符,所以你也可以使用下面的:
preg_match('/^[\pL\d\s]+$/u', $test)