Comment détecter si string contient une lettre majuscule en PHP
Je n'ai pas trouvé de fonction pour ça. Je suppose que je dois utiliser regex?
j'essaie de faire des redirections html en php dans les cas où l'url contient au moins une lettre majuscule.
exemple:http://www.domain.com/Michael_Jordan doit être redirigé vers http://www.domain.com/michael_jordan - le seul problème est que je ne semble pas trouver un script pour détecter si au moins une lettre capitale existe.
5 réponses
une expression régulière devrait être capable de travailler, vous pouvez utiliser preg_match
et [A-Z]
if(preg_match('/[A-Z]/', $domain)){
// There is one upper
}
Vous pouvez également essayer cette
if (!ctype_lower($string)) {
// there is at least une uppercase character
}
ne sais pas si c'est plus efficace que les deux autres méthodes proposées.
preg_match_all('%\p{Lu}%usD', 'aA,éÁ,eE,éÉ,iI,íÍ,oO,óÓ,öÖ,őŐ,uU,úÚ,üÜ,űŰ', $m);
echo '<pre>';
var_dump($m);
echo '</pre>';
Testé avec les caractères hongrois utf-8, [A-Z] est pour latin1 seulement.
$mydir = "C:\Users\John" ;
print preg_match('/^[A-Z]:\.*/', $mydir, $match )."\n" ;
print $match[0]. " preg match \n" ;
Produit:
1
C: preg match
Ceci suggère que les parenthèses ne sont pas nécessaires-pour un match, au moins
Regardez ceci pour être plus spécifique pour votre application: PHP pour rechercher les mots mélangés majuscules et minuscules dans les chaînes?