За последние 24 часа нас посетили 20368 программистов и 1089 роботов. Сейчас ищут 835 программистов ...

[Решено] Как сделать первую букву заглавной php!!!

Тема в разделе "PHP для новичков", создана пользователем Panter7777, 24 ноя 2010.

  1. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    Добрый день!
    Ситуация следующая. нужно чтобы при написании первая буква становилась заглавной.

    Вот код:
    Код (Text):
    1. $name = 'тест';
    2.  
    3. $first = mb_substr($name,0,1);//первая буква
    4. $last = mb_substr($name,1);//все кроме первой буквы
    5. //$first = strtoupper($first);
    6. //$last = strtolower($last);
    7. //$name1 = $first.$last;
    8.  
    9.  
    10. echo "$name <br /> $first <br /> $last";
    А на выходе вижу:

    тест

    �ест

    Много находил упоминаний об iconv но конкретных решений не встричал! Из какой кодировки переводить что бы нормально отображались символы.
     
  2. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    А если тоже самое сделать английскими буквами то все работает.
    вот пример:
    Код (Text):
    1. $name = 'avatar';
    2. //$name = iconv("???", "UTF-8", $name);
    3.  
    4. $first = mb_substr($name,0,1);//первая буква
    5. $last = mb_substr($name,1);//все кроме первой буквы
    6. $first = strtoupper($first);
    7. $last = strtolower($last);
    8. $name1 = $first.$last;
    9.  
    10.  
    11. echo "$name <br /> $first <br /> $last <br /> $name1";
    Выводит:

    avatar
    A
    vatar
    Avatar
     
  3. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  4. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    ОК! Какой-то прогресс есть но все равно не то!

    Вот код:
    Код (Text):
    1. $name = 'тест';
    2. //$name = iconv("UTF-8", "UTF-8", $name);
    3.  
    4. $first = mb_substr($name,0,1, 'UTF-8');//первая буква
    5.  
    6. $last = mb_substr($name,1);//все кроме первой буквы
    7. $first = strtoupper($first);
    8. $last = strtolower($last);
    9. $name1 = $first.$last;
    10.  
    11.  
    12. echo "$name <br /> $first <br /> $last <br /> $name1";
    Видим:

    тест
    т
    �ест
    т�ест
     
  5. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    Все решил спасибо большое!!!

    Вот решение:

    Код (Text):
    1. $name = 'тест';
    2. //$name = iconv("UTF-8", "UTF-8", $name);
    3.  
    4. $first = mb_substr($name,0,1, 'UTF-8');//первая буква
    5. $last = mb_substr($name,1);//все кроме первой буквы
    6. $first = mb_strtoupper($first, 'UTF-8');
    7. $last = mb_strtolower($last, 'UTF-8');
    8. $name1 = $first.$last;
    9.  
    10.  
    11. echo "$name1";
    Видим:
    Тест
     
  6. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    PHP:
    1. $first = mb_substr($name,0,1, 'UTF-8');//первая буква
    зы: зачем используешь mb_ если не используешь кодировки???

    string mb_substr ( string $str , int $start [, int $length [, string $encoding ]] )
     
  7. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    в css такие вещи проще решать, если это для странички
     
  9. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Padaboo
    И что работает, когда файл в UTF-8 кодировке?
     
  10. Padaboo

    Padaboo Старожил
    Команда форума Модератор

    С нами с:
    26 окт 2009
    Сообщения:
    5.242
    Симпатии:
    1
    Volt(220)
    охты, не работает ^^
     
  11. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев
    Как это не использую кодировку. а это что?

    $first = mb_substr($name,0,1, 'UTF-8');
    $first = mb_strtoupper($first, 'UTF-8');
    $last = mb_strtolower($last, 'UTF-8');
     
  12. Mat

    Mat Активный пользователь

    С нами с:
    12 дек 2006
    Сообщения:
    391
    Симпатии:
    0
    Это было в качестве подсказки к первому посту, но ты допёр быстрее чем я напечатал =))))))
     
  13. Panter7777

    Panter7777 Активный пользователь

    С нами с:
    10 окт 2010
    Сообщения:
    96
    Симпатии:
    0
    Адрес:
    Киев