ucwords и ucfirst преобразовать первый символ из строки в верхний регистр.PHP Заглавная буква из ALPHABET
Мне нужна функция, чтобы использовать первый символ из алфавита.
например: ¡hi! -> Привет! «h» должен быть капиталом, потому что это первый символ, присутствующий в алфавите.
На испанском языке У нас есть вопросительные знаки в начале и конце слова/предложения/фразы, поэтому заглавные буквы первого символа с использованием ucword/ucfirst не решили мою проблему. Мне нужно загладить первый символ алфавита из строки.
¿Какой у вас любимый вид спорта? -> после ucfirst -> ¿Какой твой любимый вид спорта?
Желаемый результат:
¿Ваш любимый вид спорта?
/////// ------------------ /////// UPDATE /////// ------ ------------ ///////
Спасибо за ответ, я смог изменить его и получить окончательную функцию.
Эта функция заглавной первую букву алфавита (в том числе это акцентированных испанский гласными á é ó í U)
function _ucfirst($palabra) {
$newStr = '';
$match = 0;
foreach(str_split($palabra) as $k=> $letter) {
if($match == 0 && preg_match('/^\p{L}*$/', $letter)){
$newStr .= _ucwords($letter);
break;
}else{
$newStr .= $letter;
}
}
return $newStr.substr($palabra,$k+1);
}
function _ucwords($palabra) {
return mb_convert_case(mb_strtolower($palabra, 'iso-8859-1'), MB_CASE_TITLE, 'iso-8859-1');
}
Положите еще несколько примеров, и причина, чтобы сделать это, почему вы хотите это? И ваша попытка? – C2486
Возможно, сначала разделите слово, затем отделите строку от несимвольного символа, затем выполните метод ucfirst. – claudios
Может быть: Удалить все, что не является символом в алфавите, и использовать первое из них? –