Как определить регистр первой буквы на PHP?
Используется UTF-8, русские и английские символы. Пых, как модуль апача.
Раньше делал так:
// Слово, пол: 1 OR 2
function generic_slovo_pol($slovo, $pol) {
// Массив слов в зависмости от пола юзера
$array_slovo = array(
'друг' => array(1 => 'друг', 2 => 'подруга'),
'верный' => array(1 => 'верный', 2 => 'верная'),
'предложил' => array(1 => 'предложил', 2 => 'предложила'),
'сир' => array(1 => 'сир', 2 => 'миледи'),
'мессир' => array(1 => 'мессир', 2 => 'мисс'),
);
foreach($array_slovo as $key => $value) {
// Сравнение слов без учета регистра
if(mb_strcasecmp($key, $slovo, 'UTF-8') == 0) {
$res = ($pol == 2) ? $value[2] : $value[1];
$res = mb_substr($slovo, 0, 1, 'UTF-8').mb_substr($res, 1, mb_strlen($res), 'UTF-8');
return $res;
}
}
return false;
}
И всё работало до слова "Сир". Я просто брал первую букву мужского слова и добавлял её..