Ответ 1
Некоторое регулярное выражение должно уметь работать, вы можете использовать preg_match
и [A-Z]
if(preg_match('/[A-Z]/', $domain)){
// There is one upper
}
Не удалось найти функцию для этого. Я предполагаю, что мне нужно использовать регулярное выражение?
Я пытаюсь сделать html-переадресацию в php в случаях, когда в URL-адресе содержится как минимум 1 буква верхнего регистра.
example: http://www.domain.com/Michael_Jordan необходимо перенаправить на http://www.domain.com/Michael_Jordan - проблема только в том, что я не могу найти script, чтобы определить, существует ли хотя бы одна заглавная буква.
Некоторое регулярное выражение должно уметь работать, вы можете использовать preg_match
и [A-Z]
if(preg_match('/[A-Z]/', $domain)){
// There is one upper
}
if (strtolower($url) != $url){
//etc...
Вы также можете попробовать это
if (!ctype_lower($string)) {
// there is at least une uppercase character
}
не уверен, что это более эффективно, чем другие два предложенных метода.
preg_match_all('%\p{Lu}%usD', 'aA,éÁ,eE,éÉ,iI,íÍ,oO,óÓ,öÖ,őŐ,uU,úÚ,üÜ,űŰ', $m);
echo '<pre>';
var_dump($m);
echo '</pre>';
Протестировано с помощью венгерских символов utf-8, [A-Z] предназначен только для latin1.
Вот более простой пример:
$mydir = "C:\Users\John" ;
print preg_match('/^[A-Z]:\.*/', $mydir, $match )."\n" ;
print $match[0]. " preg match \n" ;
Выдает:
1
C: preg match
Это говорит о том, что parens не нужны - для одного совпадения, по крайней мере,
Посмотрите, чтобы это было более конкретным для вашего приложения: PHP для поиска в верхнем + нижнем случае смешанных слов в строках?