2014-01-31 6 views
-1

Я искал способ PHP в преобразовании строки, чтобы первая буква стала прописной, а остальная нижняя.Верхняя буква первой буквы и нижняя нижняя

На данный момент я делаю то, что я считаю, является стандартным способом:

ucfirst(strtolower($string)); 

Но я обнаружил, что некоторые языки программирования могут сделать это с одним cammand (т.е. TCL.):

totitle 

Есть ли способ сделать это в PHP? Это не проблема, как таковой, я просто любопытными чувак: D

Благодаря

+3

No. Если строка не все заглавные буквы независимо от того, какие функции вы используете вам нужно будет convertt в нижний регистр, прежде чем ucwords вызова() или ucfirst(). –

+1

Да: 'function totitle ($ string) {return ucfirst (strtolower ($ string));} echo totitle ('my MIXED case STRING');' Вся суть языка программирования заключается в том, что вы можете писать код, чтобы делать что-то как это для вас .... если бы все языки программирования делали точно одинаковые вещи точно так же, было бы только одно, highlander –

+0

Метод, который вы использовали @ user3139907, является правильным способом. Нет другой существующей функции, которая сделает это, хотя вы можете создать свой собственный, если хотите). – danmullen

ответ

1
function totitle($string){ 
    return ucfirst(strtolower($string)); 
} 

И вуаля :)

+0

Чувак читал user3139907 вопрос ... он использовал totitle ... Я только что скопировал переданный то, что использовал автор. – Kursion

0

«Название» Корпус заглавной каждый слово в строке (т.е. каждая буква, следующая за пробелом). Ваш подход приведет к «Унесению ветром», тогда как титульный корпус даст «Gone With The Wind».

Я бы не стал беспокоиться об этом: то, что вы делаете, прост и интуитивно понятен, и если он доставит вас, что вы хотите, нет никаких внутренних функций, которые делают то же самое.

0

Вы можете создать такую ​​функцию самостоятельно.

Не забывайте, что вы должны использовать функции mb_* для данных, которые были введены пользователем. Английский язык - это не единственный язык, который используют люди. Посмотрите на этот вопрос: ucfirst() function for multibyte character encodings

1

Вы должны пойти, как этот

<?php 
$string= 'HELLO WORLD'; 
$string = strtolower($string); 
$string = ucfirst($string); 
?> 
Смежные вопросы