lcfirst
Возвращает строку string , первый символ которой был преобразован в нижний регистр, если этот символ является ASCII-символом в диапазоне от «A» (0x41) до «Z» (0x5a).
Список параметров
Возвращаемые значения
Возвращает результирующую строку.
Список изменений
Версия | Описание |
---|---|
8.2.0 | Преобразование регистра больше не зависит от локали, установленной с помощью функции setlocale() . Будут преобразованы только символы ASCII. |
Примеры
Пример #1 Пример использования lcfirst()
$foo = ‘HelloWorld’ ;
$foo = lcfirst ( $foo ); // helloWorld
?php
$bar = ‘HELLO WORLD!’ ;
$bar = lcfirst ( $bar ); // hELLO WORLD!
$bar = lcfirst ( strtoupper ( $bar )); // hELLO WORLD!
?>
Смотрите также
- ucfirst() — Преобразует первый символ строки в верхний регистр
- strtolower() — Преобразует строку в нижний регистр
- strtoupper() — Преобразует строку в верхний регистр
- ucwords() — Преобразует в верхний регистр первый символ каждого слова в строке
User Contributed Notes 4 notes
14 years ago
Easiest work-around I’ve found for <5.3:
5.3:
$string = «CamelCase»
$string < 0 >= strtolower ( $string < 0 >)
echo $string ; // outputs camelCase
15 years ago
In some cases maybe more useful?
$lower = strtolower( substr($upper,0,1) ) . substr($upper,1);
15 years ago
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. » */
14 years ago
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.
- Copyright © 2001-2023 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Сделать первую букву заглавной (PHP)
В PHP есть функция ucfirst() , которая первую букву в строке делает заглавной, ucwords() — делает заглавными буквы во всех словах строки, в работе с кириллицей, в юникоде, возникают проблемы.
Кириллица и юникод — вечная проблема всех версий PHP, частично проблема решена, существует функция string mb_convert_case (string str, int mode [, string encoding]) , которая принимает в качестве параметров строку, режим преобразования (0 — все буквы в верхний регистр, 1 — все буквы в нижний регистр, 2 — ВСЕ ПЕРВЫЕ буквы всех слов в верхний регистр) и кодировка.
Преобразование букв
Задача: преобразовать первую букву в строке и все первые буквы во всех словах в строке.
Английские буквы
С английскими буквами в стандартно-используемых кодировках (UTF-8 и Windows-1251) проблем не возникает.
‘; // первая буква во всех словах echo ucwords($str); ?>?php>
Результат на экране
First letters
First Letters
Кириллица и Windows-1251
С кириллицей в Windows-1251 проблем так же не должно возникнуть.
‘; // первая буква во всех словах echo ucwords($str); ?>?php>
Результат на экране
Первые буквы
Первые Буквы
Кириллица и UTF-8
С кириллицей в юникоде функции ucfirst() и ucwords() не справятся и преобразований не произойдет.
Для этого определяется функция mb_ucfirst(string str [, string encoding]) , которая будет обрабатывать юникод-строки.
Результат на экране
первые буквы
первые буквы
Первые буквы
Первые Буквы
✖ ❤ Мне помогла статья 12 оценок
68164 просмотра 3 комментария Артём Фёдоров 12 апреля 2011
Категории
Читайте также
- Сделать первую букву заглавной (Perl)
- Первую букву в верхний регистр (JavaScript)
- Как инвертировать строку (PHP)
- Как узнать длину строки (PHP)
- Транслит (PHP)
- Определить поискового бота (PHP)
- Удалить все теги (PHP)
- Строку в верхний регистр (PHP)
- Строку в нижний регистр (PHP)
- Удалить все пробелы (PHP)
- Удалить двойные пробелы (PHP)
- Первые N символов строки цифры (PHP)
Комментарии
06 октября 2021 в 07:51
Перед тем как подобные статьи писать, разберись сам в функциях. Ничего о не меняет, как были слова так и остались
Проблема с русскими символами, как сделать заглавной первую букву
С очень странной проблемой столкнулся в PHP. Надо сделать заглавной первую букву в строке.
Функция PHP – ucfirst(), не помогла. Работает для символов латинского алфавита, но не работает для кириллицы, для русского алфавита.
Решение, которое работает для таких случаев.
if (!function_exists('mb_ucfirst') && extension_loaded('mbstring')) < /** * mb_ucfirst - преобразует первый символ в верхний регистр * @param string $str - строка * @param string $encoding - кодировка, по-умолчанию UTF-8 * @return string */ function mb_ucfirst($str, $encoding = 'UTF-8') < $str = mb_ereg_replace('^[\ ]+', '', $str); $str = mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_substr($str, 1, mb_strlen($str), $encoding); return $str; >>
И если требуется преобразовать строку, применяем так:
mb_ucfirst('пример');
Как сделать первую букву заглавной на PHP
Сделать так, чтобы первая буква стала заглавной — довольно распространённая задача веб-разработчика. Это может потребоваться в самых разных случаях, но не будем заострять на них внимание, наша задач — поднять первую букву в любом слове с любой кодировкой.
Я не зря упомянул про кодировку, потому что в PHP есть встроенная функция, чтобы сделать первую букву заглавной, это ucfirst(). Но она нам не подходит, т.к. работает только с латинскими символами. Т.е. если вы с помощью такой функции попробуете поднять первую букву в слове «home», то всё будет в порядке и на выходе вы получите «Home». А если сделать то же самое со словом «дом», то на выходе как был «дом» с маленькой буквой, так и останется. Это происходит потому, что мы используем русские символы в кодировке UTF-8, т.е. многобайтовой, а ucfirst() используется для однобайтовых кодировок.
В PHP есть функции для работы со строками в многобайтовых кодировках, их то мы и используем в функции, представленной ниже, чтобы сделать первую букву заглавной в многобайтовой кодировке.
Функция, которая делает первую букву заглавной
/** * Uppercase first letter. Working with multi-byte encodings. * * @param $str * @param string $encoding * @return string */ function upFirstLetter($str, $encoding = 'UTF-8') < return mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_substr($str, 1, null, $encoding); >echo upFirstLetter('дом'); // выведет "Дом"
Понравилась статья? Оцени её!
Автор блога Борис Заболотских
Здравствуй дорогой читатель! Я рад приветствовать тебя на страницах моего блога. Уже несколько лет я занимаюсь веб-программированием и рад поделиться с тобой своими знаниями и советами. Если тебе понравились мои статьи, ты можешь подписаться на рассылку блога, из неё ты узнаешь много интересного!