Меню Закрыть

Php первая буква большая

Содержание

Периодически нужно бывает сделать все буквы «БОЛЬШИМИ» или «ПРОПИСНЫМИ» или в верхнем регистре – используйте любое название. Но и мы еще рассмотрим тему, как сделать первую букву строки большой!Большая буква, функция для увеличения буквы, буква больше php

Естественно, что этого сделаем примеры, как и какие функции делают буквы большими, прописными.

Как сделать все буквы большими в php ?

У нас есть несколько слов на английском давайте переведём данный текст в верхний регистр!

$переменная = "hello world!";

hello world! И да мы в прошлый раз делили наоборот все буквы в нижнем регистре

Будем использовать функцию strtoupper

$strtoupper = strtoupper($переменная); echo $strtoupper;

Как сделать все буквы большими в php кириллица

Теперь нам нужно сделать все буквы большими в тексте на кириллице:

$перменная_1 = "привет мир!";

$strtoupper = strtoupper($перменная_1 ); echo $strtoupper;

Применим эту же функцию(скорее всего для кодировки windows-1251 – она должна работать аналогично, но для utf-8 – так не будет работать! ))

Как видим, функция, которая должна делать буквы большими, для кириллицы не работает!

Для того чтобы сделать буквы большими в тексте на кириллице нужно использовать другую функцию "mb_strtoupper"
$strtoupper_1 = mb_strtoupper($перменная_1, "utf-8"); echo $strtoupper_1;

Как сделать первую букву большой в php латиница

Для того, чтобы сделать первую букву заглавной или большой или в верхнем регистре нам понадобится соответствующая функция, которая умеет делать первые буквы большими:

$ucfirst = ucfirst($переменная); echo $ucfirst;

Как сделать первую букву большой в php кириллица

Эта функция ucfirst может делать первую букву большой в латинице, но для кириллицы, в utf-8, она выдаст вот такое, если мы применим к новому тексту на кириллице

$ucfirst = ucfirst($переменная); echo $ucfirst;

Читайте также:  Топ приложений для чтения книг на андроид

Как видим ничего не сработало и выводит, как обычный текст…

Обычно бывает аналогичная функция с приставкой mb — mb_ucfirst , но на момент написания данных строк её не существует,но в интернете существует самописная функция, которая делает буквы большими в тексте на кириллице!

Вот уже результат работы данной функции:

$mb_ucfirst = mb_ucfirst($переменная); echo $mb_ucfirst;

Привет мир! mb_ucfirst из интернета:

function mb_ucfirst($string, $enc = ‘UTF-8’)

return mb_strtoupper(mb_substr($string, 0, 1, $enc), $enc) .

mb_substr($string, 1, mb_strlen($string, $enc), $enc);

Вступление

В PHP есть функция ucfirst() , которая первую букву в строке делает заглавной, ucwords() — делает заглавными буквы во всех словах строки, в работе с кириллицей, в юникоде, возникают проблемы.

Кириллица и юникод — вечная проблема всех версий PHP, частично проблема решена, существует функция string mb_convert_case (string str, int mode [, string encoding]) , которая принимает в качестве параметров строку, режим преобразования (0 — все буквы в верхний регистр, 1 — все буквы в нижний регистр, 2 — ВСЕ ПЕРВЫЕ буквы всех слов в верхний регистр) и кодировка.

Преобразование букв

Задача: преобразовать первую букву в строке и все первые буквы во всех словах в строке.

Английские буквы

С английскими буквами в стандартно-используемых кодировках (UTF-8 и Windows-1251) проблем не возникает.

Результат на экране
First letters
First Letters

Кириллица и Windows-1251

С кириллицей в Windows-1251 проблем так же не должно возникнуть.

Результат на экране
Первые буквы
Первые Буквы

Кириллица и UTF-8

С кириллицей в юникоде функции ucfirst() и ucwords() не справятся и преобразований не произойдет.

Для этого определяется функция mb_ucfirst(string str [, string encoding]) , которая будет обрабатывать юникод-строки.

Результат на экране
первые буквы
первые буквы
Первые буквы
Первые Буквы

Читайте также:  Radeon rx 550 2gb тест в играх

(PHP 5 >= 5.3.0, PHP 7)

lcfirst — Преобразует первый символ строки в нижний регистр

Описание

Возвращает строку str , первый символ которой был преобразован в нижний регистр, если этот символ является буквой.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C", символ ä не будет преобразован.

Список параметров

Возвращаемые значения

Возвращает результирующую строку.

Примеры

Пример #1 Пример использования lcfirst()

= ‘HelloWorld’ ;
$foo = lcfirst ( $foo ); // helloWorld

$bar = ‘HELLO WORLD!’ ;
$bar = lcfirst ( $bar ); // hELLO WORLD!
$bar = lcfirst ( strtoupper ( $bar )); // hELLO WORLD!
?>

Смотрите также

  • ucfirst() — Преобразует первый символ строки в верхний регистр
  • strtolower() — Преобразует строку в нижний регистр
  • strtoupper() — Преобразует строку в верхний регистр
  • ucwords() — Преобразует в верхний регистр первый символ каждого слова в строке

User Contributed Notes 4 notes

Easiest work-around I’ve found for = "CamelCase"
$string < 0 >= strtolower ( $string < 0 >)
echo $string ; // outputs camelCase

A slight modification from Northie’s post here ( http://us2.php.net/manual/en/function.ucfirst.php#68443), where lcfirst may not exist in your PHP build:

if( false === function_exists ( ‘lcfirst’ ))
<
/**
* Make a string’s first character lowercase
*
* @param string $str
* @return string the resulting string.
*/
function lcfirst ( $str ) <
$str [ 0 ] = strtolower ( $str [ 0 ]);
return (string) $str ;
>
>

/* Tests */
echo var_dump ( lcFirst ( NULL )). ‘
‘ ; /* string(0) "" */
echo var_dump ( lcFirst ( » )) . ‘
‘ ; /* string(0) "" */
echo var_dump ( lcFirst ( ‘S’ )) . ‘
‘ ; /* string(1) "S" */
echo var_dump ( lcFirst ( ‘É’ )) . ‘
‘ ; /* string(0) "�" */
echo var_dump ( lcFirst ( ‘Hello World. ‘ )); /* string(14) "hello World. " */

Читайте также:  Лучшие программы для создания логотипов на русском

In some cases maybe more useful?

$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);

As of PHP release 6 direct reference modification is not permitted any more.
Reference modification is the process of manipulating characters within a string by means of the instruction such as:
$str[0] in the code line: $str[0] = strtolower($str[0]);

For this reason I have recoded the lcfirst function (on function_exists(‘lcfirst’) === false) as follows:

if ( false === function_exists ( ‘lcfirst’ ) ):
function lcfirst ( $str )
< return (string)( strtolower ( substr ( $str , 0 , 1 )). substr ( $str , 1 ));>
endif;
?>

Remarks:
Also notice that I have used the more modern scope delimeters (if:-endif;) and I have also removed the unnecessary intermediate result. That is, the manipulation is returned directly.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.