У меня есть поле input куда человек должен ввести название улицы! И мне нужно чтобы вид этой улицы принимал нормальный реестр, как бы коряво пользователь ее не ввел!
К примеру он вводит: тУчуГансКая!
Я делаю такой вид: Тучуганская!
Нооо, как дать нормальный вид к примеру
Такому названию улицы: ГенеРала озеРовА ????
У меня получается только: Генерала озерова!
А вот чтобы каждое слово начиналось с заглавной буквы, это я не знаю как сделать!
Подскажите пожалуйста!
Спустя 35 минут, 32 секунды (1.08.2011 - 16:01) VolDroN написал(а):
можно попробовать:
<?php
$str = 'улица маяковского';
$array = explode(' ', $str);
foreach($array as $value)
{
$start = substr($value, 0, 1);
$end = substr($value, 1);
$start = mb_strtoupper($a, 'UTF-8');
$text .= $start.$end;
}
echo $text;
Спустя 11 минут, 27 секунд (1.08.2011 - 16:12) Footya написал(а):
А зачем здесь $value = substr($str, 0, 1);????
И если к примеру человек вводит название улицы, в которой сегмементы разделены "-", а не " "??
И если к примеру человек вводит название улицы, в которой сегмементы разделены "-", а не " "??
Спустя 3 минуты (1.08.2011 - 16:15) neadekvat написал(а):
VolDroN, а почему бы не воспользоваться стандартной функцией ucwords, например?
Спустя 2 минуты, 18 секунд (1.08.2011 - 16:18) VolDroN написал(а):
$str = 'улица маяковского';
$array = explode(' ', $str);
if(count($array) == 1)
{
$tire = true;
$array = explode('-', $str);
}
foreach($array as $value)
{
$start = mb_substr($value, 0, 1, 'UTF-8');
$end = mb_substr($value, 1, mb_strlen($value), 'UTF-8');
$start = mb_strtoupper($start, 'UTF-8');
if($tire) $text .= $start.$end.'-';
else $text .= $start.$end.' ';
}
if($tire) $text = substr($text, 0, -1);
else $text = trim($text);
echo $text;
что за бред, этот код?))
Спустя 1 минута, 18 секунд (1.08.2011 - 16:19) VolDroN написал(а):
neadekvat )) потому-что я такого не знаю и вообще - велосипедист
Спустя 5 минут, 16 секунд (1.08.2011 - 16:24) neadekvat написал(а):
Цитата (VolDroN @ 1.08.2011 - 17:19) |
потому-что я такого не знаю и вообще - велосипедист |
Вопрос был риторический, с намеком на то, что следует чаще посещать документацию.
Спустя 2 минуты, 43 секунды (1.08.2011 - 16:27) VolDroN написал(а):
ну я понял
у меня такое ощущение, что я индус.
особенно посмотрев 5ый пост этой темы
у меня такое ощущение, что я индус.
особенно посмотрев 5ый пост этой темы
Спустя 6 минут, 57 секунд (1.08.2011 - 16:34) killer8080 написал(а):
Footya
можно так
можно так
$str = 'ГенеРала озеРовА';
$str = implode(' ', array_map('ucwords', explode(' ', strtolower($str))));
echo $str;
Спустя 6 минут, 5 секунд (1.08.2011 - 16:40) neadekvat написал(а):
killer8080, wtf? Не можно.
Спустя 3 минуты, 51 секунда (1.08.2011 - 16:44) killer8080 написал(а):
Цитата (neadekvat @ 1.08.2011 - 16:40) |
killer8080, wtf? Не можно. |
ну если юникод, тогда mb_strtolower()
Спустя 6 часов, 11 минут, 50 секунд (1.08.2011 - 22:56) killer8080 написал(а):
тупанул я чё то, в utf-8 нужно так
$str = 'ГенеРала-озеРовА';
$str = mb_convert_case($str, MB_CASE_TITLE, 'UTF-8');
echo $str;