Автор Тема: замена заглавных на строчных в строке  (Прочитано 5859 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 718972

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
есть, допустим, такая строка $s=мебель для нового дома;

как записать на php такую логику:

ЕСЛИ 1я буква строки НЕ Заглавная ТО сделать(заменить) первую букву в строке на заглавную :confused:

или

ЕСЛИ вся строка набрана заглавными буквами, или в строке есть \'подстроки\'(например, в приведенном мною выше примере строки, заглавными буквами набрано \'ДЛЯ НОВОГО\') набранные заглавными буквами, ТО привести строку к такому виду: 1я буква заглавная, остальные - строчные

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
замена заглавных на строчных в строке
« Ответ #1 : 07 Июня 2005, 12:51:40 »
а не проще ли сделать так:

<?php
$str
="типа Текст бла бла БЛА бла бла БЛА БЛА";
$str_new=strtoupper(substr($str,0,1)).strtolower(substr($str,1,strlen($str)));
echo 
$str_new;
?>
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн 718972

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
замена заглавных на строчных в строке
« Ответ #2 : 07 Июня 2005, 13:02:22 »
спасибо за ответ, AlieN

тИПА ТЕКСТ БЛА БЛА БЛА БЛА БЛА БЛА БЛА

инвертировать бы её..

Оффлайн AlieN

  • Абыр!=)
  • Ветеран
  • *****
  • Сообщений: 1315
  • +0/-1
  • 2
    • Просмотр профиля
замена заглавных на строчных в строке
« Ответ #3 : 07 Июня 2005, 13:18:30 »
<?php
$str
="тИПА ТЕКСТ БЛА БЛА БЛА БЛА БЛА БЛА БЛА ";
$str_new=strtoupper(substr($str,0,1)).strtolower(substr($str,1,strlen($str)));
echo 
$str_new;
?>


Результат испольнения:

Цитировать
Типа текст бла бла бла бла бла бла бла


В чем проблема?
The Chemical Brothers - Hey Boy Hey Girl (User Friendly Mix)
Peter Presta pres - Set Sail(Peter Presta Apple Jaxx Dub) She S.Sunshine Feat Mila - Bring The Beat Back (Club Mix) Jerry Ropero - Home Alone (Dub Mix)

Оффлайн DiJay

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 65
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
замена заглавных на строчных в строке
« Ответ #4 : 07 Июня 2005, 15:04:37 »
Парни, а может проще?
$bar ucfirst(strtolower($bar));

пример взял из мануала :)
http://www.php.net/manual/ru/function.ucfirst.php

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
замена заглавных на строчных в строке
« Ответ #5 : 08 Июня 2005, 14:59:33 »
DiJay
[off]Я ждал этого ответа :)[/off]
LJ: Backslashed life (rss)

Оффлайн 718972

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
замена заглавных на строчных в строке
« Ответ #6 : 09 Июня 2005, 20:18:02 »
Цитировать
Парни, а может проще?

$bar = ucfirst(strtolower($bar));


Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.


как же быть с русским (кириллица) текстом

Оффлайн 718972

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 26
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
замена заглавных на строчных в строке
« Ответ #7 : 09 Июня 2005, 20:35:28 »
наверное, вопрос снят? :
setlocale(LC_ALL, \'ru_RU.CP1251\');
$str = ucfirst(strtolower($str));


единственное, не нужно ли эту локалю обратно вернуть.. а то может где скажется.. ??

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28