[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как извлечь первый символ строки?
zvezda_t
Здравствуйте!
Скажите мне пожалуйста как первый символ строки извлечь и вывести его с заглавной буквы)))
заранее большое спасибо rolleyes.gif



Спустя 1 минута, 25 секунд (10.09.2010 - 14:47) Lenarfate написал(а):
заглавная буква ucfirst();
работа с подстроками substr(), strrpos()

Спустя 1 минута, 26 секунд (10.09.2010 - 14:48) Lenarfate написал(а):

$str = "привет";
$sub = substr($str, 0, -5);
$sub = ucfirst($sub);
print $sub;

Спустя 9 минут, 16 секунд (10.09.2010 - 14:57) zvezda_t написал(а):
Lenarfate, большое спасибо! smile.gif

Спустя 3 минуты, 15 секунд (10.09.2010 - 15:00) Lenarfate написал(а):
zvezda_t
всегда пожалуйста, мисс smile.gif

Спустя 2 часа, 25 минут, 24 секунды (10.09.2010 - 17:26) Nikitian написал(а):
Цитата (Lenarfate @ 10.09.2010 - 11:48)

$str = "привет";
$sub = substr($str, 0, -5);
$sub = ucfirst($sub);
print $sub;

Зачем высчитывать смещение справа, если можно по-человечески слева без расчёта относительно длины строки?

$str = "привет";
echo strtoupper(substr($str,0,1));

И кстати, ucfirst() не всегда работает с кирилицей на никсовых серверах.

Спустя 14 часов, 15 минут, 51 секунда (11.09.2010 - 07:42) twin написал(а):
В utf-8 работать не станет.

Спустя 54 минуты, 22 секунды (11.09.2010 - 08:36) Lenarfate написал(а):
Цитата
В utf-8 работать не станет.

на php.net в разделе по этой функции есть как заставить работать ее с utf smile.gif

Спустя 42 минуты, 9 секунд (11.09.2010 - 09:18) twin написал(а):
Ну не все так гладко в королевстве датском. Вообще PHP придуман даже на для английского сектора. Для еврейского. Вот на иврите все прекрасно будет работать. А нам не повезло.

В mb библиотеке нет таких функций. Если стоит такая задача, то нужно либо эмулировать такую функцию, либо конвертировать туда-обратно.

Спустя 1 час, 20 минут, 32 секунды (11.09.2010 - 10:39) Семён написал(а):
Цитата (twin @ 11.09.2010 - 10:18)
Ну не все так гладко в королевстве датском. Вообще PHP придуман даже на для английского сектора. Для еврейского. Вот на иврите все прекрасно будет работать. А нам не повезло.

В mb библиотеке нет таких функций. Если стоит такая задача, то нужно либо эмулировать такую функцию, либо конвертировать туда-обратно.


Я бы предложил так: (у меня в движке вообще специально подготовленные отдельные функции для определения кодировок строк и работы с ними)

$str = "тестовая строка";
$str = mb_convert_case($str, MB_CASE_TITLE);
echo mb_substr($str,0,1);

Спустя 4 часа, 10 минут, 5 секунд (11.09.2010 - 14:49) Ice написал(а):
Цитата (twin @ 11.09.2010 - 10:18)
Вообще PHP придуман даже на для английского сектора. Для еврейского

Ну дык разрабы-то евреи оба

Спустя 3 месяца, 29 дней, 18 часов, 48 минут, 28 секунд (11.01.2011 - 10:37) zvezda_t написал(а):
Скажите пожалуйста, есть ли функция аналогичная ucfirst(), которая работает с кириллицей?

$str = mb_convert_case($str, MB_CASE_TITLE);

данный код поднимает в верхний регистр первую букву каждого слова в строке, а мне нужно лишь первое слово строки с заглавной буквы написать...

Спустя 15 минут (11.01.2011 - 10:52) quickxyan написал(а):
может сделать это через CSS помню когда-то натыкался. притом можно не просто большой сделать, а еще и разукрасить как елку)

вот примерный код в гугле нарыл) но тут токо для <h1> а так моно в какой-то другой тэг все запихать. вопщем код в студию:


<html>
<
head>
<
style type="text/css">
h1:first-letter
{
color: #008080;
font-size: xx-large
}
</style>
</head>

<body>
<h1>Заголовок</h1>
</body>

</html>


Спустя 5 минут, 16 секунд (11.01.2011 - 10:58) zvezda_t написал(а):
quickxyan, спасибо)
но мне именно нужно в переменную записать строку)

Спустя 3 часа, 58 минут, 45 секунд (11.01.2011 - 14:56) zvezda_t написал(а):
В общем, написала я так:
(если кто знает более изящное решение - то пожалуйста поделитесь :rolleyes: )

$word = strtoupper($str{1});
$words_str = substr($str, 2);
$str= $word.$words_str;

Спустя 18 минут, 54 секунды (11.01.2011 - 15:15) ИНСИ написал(а):
zvezda_t попробуй так, должно сработать:
$str = 'привет';
echo mb_strtoupper(mb_substr($str,0,1, 'utf-8'), 'utf-8');


Спустя 4 месяца, 9 дней, 9 часов, 34 минуты, 21 секунда (20.05.2011 - 23:50) Guest написал(а):

Немного подправил)



function ucfirst_func($str) {

$word = mb_strtoupper($str{0});
$words_str = mb_strtolower(substr($str, 1));
$str = $word.$words_str;
return $str;

}



_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.