лучший способ определить строчные / прописные в PHP? - PullRequest
2 голосов
/ 30 ноября 2009

У меня есть строка, которая является одной из следующих форм

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

и мне нужно различить, какой из этих трех случаев ... какой лучший способ сделать это? Кажется, нет функции islower() или isupper(); Я полагаю, я мог бы сделать один, используя strtoupper() или strtolower().

Ответы [ 3 ]

8 голосов
/ 30 ноября 2009
4 голосов
/ 30 ноября 2009

Использование регулярных выражений что-то вроде:

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
}
3 голосов
/ 30 ноября 2009

ctype_upper () и ctype_lower () выполняют эту работу.

Вы можете сделать ucfirst (), uclast (), strtolower (), strtoupper () и сравнить с исходной строкой.

Если вы хотите проверить, является ли определенный символ прописными буквами, просто используйте substr () и снова сравните с оригиналом.

Для получения дополнительной информации: PHP Strings

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...