Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Обработка регистра

Сообщения:  [1-4] 

 
 автор: Владимир55   (12.03.2007 в 21:50)   письмо автору
 
   для: simsalabim   (12.03.2007 в 19:30)
 

"тут нужны регулярные выражения" - В том то и штука!

   
 
 автор: simsalabim   (12.03.2007 в 19:30)   письмо автору
 
   для: simsalabim   (12.03.2007 в 19:30)
 

ну и, конечно же, тут нужны регулярные выражения.

   
 
 автор: simsalabim   (12.03.2007 в 19:30)   письмо автору
 
   для: Владимир55   (12.03.2007 в 19:17)
 

надо искать две заглавные (большие) буквы подряд в слове, если находим, то применяем к нему strtoupper(). ежели ничего подобного не видим, то так и оставляем. ну и в конце ко всей строке ucfirst().

имхо, довольно просто.

   
 
 автор: Владимир55   (12.03.2007 в 19:17)   письмо автору
 
 

Есть текстовая переменная $line, содержащая одно или несколько слов. При этом возможно различное использование регистра в этих словах. А этот регистр желательно упорядочить, соответствующим образом обработав каждое слово. А именно:
- если данное слово написано маленькими буквами, то так его и оставить;
- если первая буква в слове большая, а остальные маленькие (имя собственное), то так и оставить;
- если все буквы в слове большие, то сделать их маленькими.

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

Последнюю операцию я предполагаю сделать так:

$line = ucfirst ($line);

А вот как сделать предыдущие, даже не представляю!

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования