0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 64

Первая буква в верхний регистр php

12.11.2016, 18:24. Показов 5217. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Столкнулся с задачей сделать первую букву в каждом слове заглавной, нашел стандартные функции, долго не мог понять почему они не работают, как выяснилось они игнорируют кириллицу, нашел две другие функции:

1:

PHP
1
2
3
4
5
6
7
    function ucfirstu($stri){
    if($stri{0}>="\xc3")
      return (($stri{1}>="\xa0")?
      ($stri{0}.chr(ord($stri{1})-32)):
      ($stri{0}.$stri{1})).substr($stri,2);
    else return ucfirst($stri);
}

2:
PHP
1
2
3
4
5
6
7
8
9
10
function first_letter_up($string, $coding='utf-8') {
  if (function_exists('mb_strtoupper') && function_exists('mb_substr') && !empty($string)) {
    preg_match('#(.)#us', mb_strtoupper(mb_strtolower($string, $coding), $coding), $matches);
    $string = $matches[1] . mb_substr($string, 1, mb_strlen($string, $coding), $coding);
  }
  else {
    $string = ucfirst($string);
  }
  return $string;
}
Обе работают отлично, но хотел спросить совета какую лучше использовать. Какая быстрее, надежнее ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.11.2016, 18:24
Ответы с готовыми решениями:

Верхний регистр в php
Есть переменная $name в ней хранится текст переданный из формы методом пост $_POST. Как мне сделать так чтобы в конце в базу я сохранял...

Изменить регистр символов в строке так, чтобы первая буква каждого слова была заглавной, а остальные буквы - строчные
Помогите решить задачу. Дана строка. Измените регистр символов в этой строке так, чтобы первая буква каждого слова была заглавной, а...

Во введенной строке верхний регистр заменить на нижний, а нижний - на верхний
В введенной строке верхний регистр заемнить на нижний и нижний на верхний, помогите с самой функцией

6
21 / 21 / 5
Регистрация: 26.12.2013
Сообщений: 177
12.11.2016, 18:36
Все зависит от поставленной задачи. Если все работает с первой и менять ничего не будешь, то пользуйся ей. Во второй есть выбор кодировки и она заточена под много байтовые кодировки (utf-8 и т.д.).
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
13.11.2016, 11:51
artur737, mb_convert_case() вторым параметром передаете MB_CASE_TITLE и будет вам счастье со стандартной функцией.
0
0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 64
17.11.2016, 21:49  [ТС]
Kerry_Jr, так она каждую букву делает большой в строчке
0
Эксперт PHP
 Аватар для Kerry_Jr
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.11.2016, 22:57
Цитата Сообщение от artur737 Посмотреть сообщение
Kerry_Jr, так она каждую букву делает большой в строчке
А вы по ссылке ходили? Примеры смотрели?
Цитата Сообщение от artur737 Посмотреть сообщение
сделать первую букву в каждом слове заглавной
PHP
1
2
3
$str = "у мэри был маленький ягненок и она его очень любила";
$str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
echo $str; // У Мэри Был Маленький Ягненок И Она Его Очень Любила
Разве это не то, что вы просили?
0
0 / 0 / 0
Регистрация: 16.02.2015
Сообщений: 64
17.11.2016, 23:05  [ТС]
Kerry_Jr, ошибся значит когда писал. В предложение
0
276 / 201 / 143
Регистрация: 22.01.2016
Сообщений: 637
18.11.2016, 00:34
Цитата Сообщение от artur737 Посмотреть сообщение
В предложение
http://sandbox.onlinephpfuncti... f43151d920 (Execute code)
PHP
1
2
3
echo preg_replace_callback('~(?:^|\.\s*)\w~u', function($m) {
    return mb_strtoupper($m[0]);
}, $text);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2016, 00:34
Помогаю со студенческими работами здесь

Убрать лишние пробелы и вывести на экран те строки, где первая буква и последняя буква слова одинаковы
Есть вот такой код к заданию: Дана строка с произвольным кол-вом слов и пробелов. Требуется убрать лишние пробелы и вывести на экран те...

Верхний регистр
для преобразования в верхний регистр используется upper, верно? но вот тут жалуется на него select ...

Верхний регистр
Дана строка str. Все согласные данной строки нужно привести к верхнему регистру. Console.WriteLine("я ем жуков"); string str...

В верхний регистр
Привет всем. Подскажите как можно сделать чтобы при передаче в функцию строки ( word ) она изменяла первую букву каждого слова на...

Верхний регистр!
Подскажите пожалуйста функцию которая преобразует нормально в верхний регистр русские буквы,пробовал strtoupper() ucwords() некоторые буквы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В качестве. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru