|
|
|
| Принимаю переменну из формы так:
$city = substr($_POST["city"],0,32);
$city = mysql_escape_string(stripslashes($city));
Это название города. Часто пишут с маленькой буквы. Или вообще всё с большой буквы. Подскажите пожалуйста как переделать эту переменную чтобы первая всегда была большой а остальные маленькие буквы. | |
|
|
|
|
|
|
|
для: tavila2009
(10.03.2010 в 15:55)
| | Сначала все перевести в нижний регистр - strtolower() или mb_strtolower() - если utf,
потом - ucfirst() | |
|
|
|
|
|
|
|
для: Лена
(10.03.2010 в 15:59)
| | А как это записать? Никогда не использовала эти функции. Дала знакомой учебник почитать. Как без рук! | |
|
|
|
|
|
|
|
для: tavila2009
(10.03.2010 в 16:01)
| | Вот возьми учебник хороший. Только никому его не давай читать, а то не вернут. | |
|
|
|
|
|
|
|
для: buldovsky
(10.03.2010 в 16:07)
| | Я здесь на сайте нашла. Как раз такой как у меня был. Ну я как всегда!! Спасибо всем.
Вот - http://softtime.ru/bookphp/gl3_13.php | |
|
|
|
|
|
|
|
для: Лена
(10.03.2010 в 15:59)
| |
<?php
$city = "GtsdnehgjSHJSJ";
$city = strtolower($city);
$city = ucfirst($city);
echo $city;
?>
|
| |
|
|
|
|
|
|
|
для: Марко
(10.03.2010 в 16:27)
| | Спасибо. Я вот так сделала и у меня получилось
$city = substr($_POST["city"],0,70);
$city = mysql_escape_string(stripslashes($city));
$city = strtolower($city);
$city = ucfirst($city);
Ну да. То же самое. Очень удобная вещь. | |
|
|
|
|
|
|
|
для: Марко
(10.03.2010 в 16:27)
| | А вот такой момент. Иногда города состоят из двух слов или даже больше. Например
Нижний Тагил? Сработает или нет? Или есть ещё что-то.
Щас попробовала - только у первого слова сделал. | |
|
|
|
|
|
|
|
для: tavila2009
(10.03.2010 в 16:52)
| | а еще Ростов есть. Который на Дону. | |
|
|
|
|
|
|
|
для: tavila2009
(10.03.2010 в 16:52)
| | Шота такое получилось
<?php
$city = "san francisco";
$arr = explode(" ",$city);
$arr[0] = strtolower($arr[0]);
$arr[1] = strtolower($arr[1]);
$arr[0] = ucfirst($arr[0]);
$arr[1] = ucfirst($arr[1]);
echo $arr[0];
echo $arr[1];
?>
|
| |
|
|
|
|
|
|
|
для: Марко
(10.03.2010 в 17:05)
| | наверно всётаки для всех слов это не отловить. Неизвестно число слов. | |
|
|
|
|
|
|
|
для: tavila2009
(10.03.2010 в 17:10)
| | А вот и для Ростова-На-Дону
<?php
$city = "rostov-na-dony";
$arr = explode("-",$city);
for($i = 0; $i < count($arr) ; ++$i)
{
$arr[$i] = strtolower($arr[$i]);
$arr[$i] = ucfirst($arr[$i]);
$city = implode("-",$arr);
}
echo $city;
?>
|
| |
|
|
|
|
|
|
|
для: Марко
(10.03.2010 в 17:19)
| | Вместо ucfirst() тогда уже ucwords(). И исключить слова, которые меньше трех букв - для них не делать первую букву заглавной.
А если кодировка utf-8 вся эта идея не прокатит. Там нет ни ucfirst(), ни ucwords(). | |
|
|
|
|
|
|
|
для: Марко
(10.03.2010 в 17:19)
| | ах вот как ! Спасибо большое!
А вот эта не сработает?
ucwords()
Производит преобразование первого символа каждого слова строки в верхний регистр.
Щас попробую.
Вот этого достаточно оказалось
$city = strtolower($city);
$city = ucwords($city); | |
|
|
|