Не удалось найти функцию для этого. Я предполагаю, что мне нужно использовать регулярные выражения?
Я пытаюсь сделать html перенаправления в php в тех случаях, когда URL содержит хотя бы 1 заглавную букву.
пример: http://www.domain.com/Michael_Jordan необходимо перенаправить на http://www.domain.com/michael_jordan - единственная проблема в том, что я не могу найти скрипт для обнаружения, если существует хотя бы одна заглавная буква
Некоторые регулярные выражения должны быть в состоянии работать, вы можете использовать preg_match и [A-Z]
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 }
, но не уверены, что это более эффективно, чем два других предложенных метода.
<code>preg_match_all('%\p{Lu}%usD', 'aA,éÁ,eE,éÉ,iI,íÍ,oO,óÓ,öÖ,őŐ,uU,úÚ,üÜ,űŰ', $m); echo '<pre>'; var_dump($m); echo '
Протестировано с венгерскими символами utf-8, [AZ] только для латиницы 1.
Вот более простой пример:
$mydir = "C:\Users\John" ; print preg_match('/^[A-Z]:\.*/', $mydir, $match )."\n" ; print $match[0]. " preg match \n" ;
Производит:
1 C: preg match
Это говорит о том, что парены не нужны - для одного совпадения, как минимум,
Посмотрите на это, чтобы быть более конкретным для вашего приложения: PHP для поиска смешанных слов в верхнем и нижнем регистре в строках?