2009-11-30 3 views
2

J'ai une chaîne qui est l'une des formes suivantesmeilleur moyen de déterminer inférieur/majuscule en PHP?

ABC // all caps: 
    // not necessarily "ABC", could be any combination of capital letters 
Abc // first letter capitalized, rest are lowercase 
abc // all lowercase 

et je dois distinguer laquelle de ces trois cas, il est ... quelle est la meilleure façon de le faire? Il ne semble pas y avoir une fonction islower() ou isupper(); Je suppose que je pourrais en faire un en utilisant strtoupper() ou strtolower().

+0

Cletus: Pourquoi avez-vous supprimer? J'étais sur le point d'augmenter votre réponse. –

Répondre

3

ctype_upper() et ctype_lower() faire le travail.

Vous pouvez faire ucfirst(), uclast(), strtolower(), strtoupper() et comparer avec la chaîne d'origine.

Si vous voulez vérifier si un certain caractère est en majuscule, utilisez substr() et comparez à nouveau avec l'original.

Pour plus d'informations: PHP Strings

4

Utilisation d'expressions régulières quelque chose le long des lignes de:

if(preg_match('/^[A-Z][a-z]*$/', $str)){ 
    // uppercase first 
}else if(preg_match('/^[a-z]+$/', $str)){ 
    // all lower 
}else if(preg_match('/^[A-Z]+$/', $str)){ 
    // all upper 
} 
Questions connexes