PHP Первая буква верхнего регистра каждого слова в выводе

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

function random_title () 
{ 
    $quotes1 = file ("wp-content/plugins/includes/classes/quotes.txt", FILE_IGNORE_NEW_LINES);
    $quotes1 = ucwords($quotes1);
    $num = rand (0, intval (count ($quotes1) / 3)) * 3;
    return $quotes1[$num];
}

Использование:

random_title()

Эта часть не работает, что я делаю не так? Когда я вставляю это, я не получаю вывода, но если я его вынимаю, я получаю свои заголовки, но они в нижнем регистре, как в текстовом файле.

    $quotes1 = ucwords($quotes1);

Спасибо за помощь.


person Matt    schedule 04.05.2015    source источник
comment
вам нужно использовать ucfirst, чтобы сделать первую букву заглавной. и вам нужно использовать его во время возвращения, я думаю   -  person Anant Kumar Singh    schedule 05.05.2015
comment
основанный на return $quotes1[$num];, $quotes1 является массивом, но ucwords() должен использоваться в строке - string ucwords ( string $str ) . Вы могли бы сделать return ucwords($quotes1[$num]);   -  person Sean    schedule 05.05.2015


Ответы (1)


ucwords работает с одной строкой, а не с массивом. Просто примените его после выбора случайного заголовка:

function random_title () 
{ 
    $quotes1 = file ("wp-content/plugins/includes/classes/quotes.txt", FILE_IGNORE_NEW_LINES);
    $num = rand (0, intval (count ($quotes1) / 3)) * 3;
    return ucwords($quotes1[$num]); # Here!
}
person Mureinik    schedule 04.05.2015
comment
Это потрясающе. Это сработало. Большое спасибо. - person Matt; 05.05.2015
comment
но он должен прописывать все буквы? не так ли? - person Anant Kumar Singh; 05.05.2015
comment
@anantkumarsingh ucwords делает первый символ в каждом слове заглавным. Или я неправильно понял ваш комментарий? - person Mureinik; 05.05.2015
comment
Да, приведенный выше код выводится как: Это ваш вывод - person Matt; 05.05.2015