Str to lower case php

How to change case in PHP strings to upper, lower, sentence, etc

As a developer, you work with strings of different nature in day-to-day projects. Some may be a word long, a phrase, a sentence, or even comprising thousands of words.

It is easy to work on and change the case on shorter strings manually, eg. you can edit the string and make a sentence begin with an uppercase letter, to change an all uppercase text to a sentence case, etc.

In the case of long strings of texts, this will not be an easy task to accomplish and may take too long. The good news is that most programming languages have a way to easily convert and manipulate the case in a string.

In this article, you will learn how to convert strings to different cases using PHP language.

Converting a string to lowercase in PHP

To change all the alphabetical characters in a string to lowercase, we use the PHP strtolower() function.

Converting a string to uppercase in PHP

To change all the alphabetical characters in a string to uppercase, we use the PHP strtoupper() function.

Читайте также:  Cpp warning missing terminating character

Converting the first character in a string to uppercase in PHP

To change the first alphabetical characters of a string to uppercase, we use ucfirst() function.

Converting the first character of each word to uppercase in PHP

To change the first character of every word in a string in PHP, we use ucwords() function.

Converting the string to sentence case in PHP

All sentences start with an uppercase(capital) letter and end with either a full stop (.), a question mark (?), or an exclamation mark (!).

If our string comprises only one sentence, then converting it to a sentence case is very simple as we only use the ucfirst() function to convert its first character to uppercase.

Which programming language do you love most?

However, that will not be the case with a string comprising of multiple sentences.

— We split the string into an array of sentences using the preg_split() function;

— We loop through all the sentences in a for each loop;

— Convert the string characters in each sentence to lower case using the strtolower() function;

— Convert the first character of every sentence to uppercase using the ucfirst() function;

— Concatenate all our sentences to form back the original string, now with a sentence case.

Hello world! I am a programmer. I like programming in php.

From the above example, you can skip the conversion to lower case if you just want all the sentences to start with an uppercase without affecting the cases of other words/characters.

Conclusion

In this article, you have learned how to convert PHP strings to upper case, lower case, the first character of every word to upper case, the first character of the string to upper case, and also how to convert a combination of multiple sentences into sentence case, where every first character of every sentence starts with an upper case.

It is my hope that the article was simple enough to follow along and easy to understand and implement.

To get notified when we add more incredible content to our site, feel free to subscribe to our free email newsletter.

Источник

strtolower

Returns string with all ASCII alphabetic characters converted to lowercase.

Bytes in the range «A» (0x41) to «Z» (0x5a) will be converted to the corresponding lowercase letter by adding 32 to each byte value.

This can be used to convert ASCII characters within strings encoded with UTF-8, since multibyte UTF-8 characters will be ignored. To convert multibyte non-ASCII characters, use mb_strtolower() .

Parameters

Return Values

Returns the lowercased string.

Changelog

Version Description
8.2.0 Case conversion no longer depends on the locale set with setlocale() . Only ASCII characters will be converted.

Examples

Example #1 strtolower() example

$str = «Mary Had A Little Lamb and She LOVED It So» ;
$str = strtolower ( $str );
echo $str ; // Prints mary had a little lamb and she loved it so
?>

Notes

Note: This function is binary-safe.

See Also

  • strtoupper() — Make a string uppercase
  • ucfirst() — Make a string’s first character uppercase
  • ucwords() — Uppercase the first character of each word in a string
  • mb_strtolower() — Make a string lowercase

User Contributed Notes 16 notes

strtolower(); doesn’t work for polish chars

the best solution — use mb_strtolower()

for cyrillic and UTF 8 use mb_convert_case

$string = «Австралия» ;
$string = mb_convert_case ( $string , MB_CASE_LOWER , «UTF-8» );
echo $string ;

the function arraytolower will create duplicate entries since keys are case sensitive.

$array = array( ‘test1’ => ‘asgAFasDAAd’ , ‘TEST2’ => ‘ASddhshsDGb’ , ‘TeSt3 ‘ => ‘asdasda@asdadadASDASDgh’ );

$array = arraytolower ( $array );
?>
/*
Array
(
[test1] => asgafasdaad
[TEST2] => ASddhshsDGb
[TeSt3] => asdasda@asdadadASDASDgh
[test2] => asddhshsdgb
[test3] => asdasda@asdadadasdasdgh
)
*/

function arraytolower ( $array , $include_leys = false )

if( $include_leys ) <
foreach( $array as $key => $value ) <
if( is_array ( $value ))
$array2 [ strtolower ( $key )] = arraytolower ( $value , $include_leys );
else
$array2 [ strtolower ( $key )] = strtolower ( $value );
>
$array = $array2 ;
>
else <
foreach( $array as $key => $value ) <
if( is_array ( $value ))
$array [ $key ] = arraytolower ( $value , $include_leys );
else
$array [ $key ] = strtolower ( $value );
>
>

return $array ;
>
?>

which when used like this

$array = $array = array( ‘test1’ => ‘asgAFasDAAd’ , ‘TEST2’ => ‘ASddhshsDGb’ , ‘TeSt3 ‘ => ‘asdasda@asdadadASDASDgh’ );

$array1 = arraytolower ( $array );
$array2 = arraytolower ( $array , true );

print_r ( $array1 );
print_r ( $array2 );
?>

will give output of

Array
(
[test1] => asgafasdaad
[TEST2] => asddhshsdgb
[TeSt3] => asdasda@asdadadasdasdgh
)
Array
(
[test1] => asgafasdaad
[test2] => asddhshsdgb
[test3] => asdasda@asdadadasdasdgh
)

When you’re not sure, how the current locale is set, you might find the following function useful. It’s strtolower for utf8-formatted text:

function strtolower_utf8 ( $inputString ) $outputString = utf8_decode ( $inputString );
$outputString = strtolower ( $outputString );
$outputString = utf8_encode ( $outputString );
return $outputString ;
>
?>

It’s not suitable for every occasion, but it surely gets in handy. I use it for lowering German ‘Umlauts’ like ä and ö.

function strtolower_slovenian ( $string )
$low =array( «Č» => «č» , «Ž» => «ž» , «Š» => «š» );
return strtolower ( strtr ( $string , $low ));
>

Источник

mb_strtolower

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

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

Параметр encoding представляет собой символьную кодировку. Если он опущен или равен null , вместо него будет использовано значение внутренней кодировки.

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

str , буквы в которой приведены к нижнему регистру.

Примеры

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

$str = «У Мэри Был Маленький Ягнёнок и Она Его Очень ЛЮБИЛА» ;
$str = mb_strtolower ( $str );
echo $str ; // Выведет у мэри был маленький ягнёнок и она его очень любила
?>

Пример #2 Пример использования mb_strtolower() с нелатинскими буквами

$str = «Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός» ;
$str = mb_strtolower ( $str , ‘UTF-8’ );
echo $str ; // Выведет τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός
?>

Примечания

В отличие от strtolower() , то что символ является буквой определяется на основании свойств символа Юникода. Таким образом на поведение функции не влияют региональные настройки системы, а также функция может преобразовывать символы, имеющие буквенные особенности, такие как а-умляут (ä).

За дополнительной информацией о свойствах Юникода обращайтесь в » http://www.unicode.org/reports/tr21/.

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

  • mb_strtoupper() — Приведение строки к верхнему регистру
  • mb_convert_case() — Производит смену регистра символов в строке
  • strtolower() — Преобразует строку в нижний регистр

User Contributed Notes 6 notes

Please, note that when using with UTF-8 mb_strtolower will only convert upper case characters to lower case which are marked with the Unicode property «Upper case letter» («Lu»). However, there are also letters such as «Letter numbers» (Unicode property «Nl») that also have lower case and upper case variants. These characters will not be converted be mb_strtolower!

Example:
The Roman letters Ⅰ, Ⅱ, Ⅲ, . Ⅿ (UTF-8 code points 8544 through 8559) also exist in their respective lower case variants ⅰ, ⅱ, ⅲ, . ⅿ (UTF-8 code points 8560 through 8575) and should, in my opinion, also be converted by mb_strtolower, but they are not!

Big internet-companies (like Google) do match both variants as semantically equal (since the representations only differ in case).

Since I was not finding any proper solution in the internet on how to map all UTF8-strings to their lowercase counterpart in PHP, I offer the following hard-coded extended mb_strtolower function for UTF-8 strings:

The function wraps the existing function mb_strtolower() and additionally replaces uppercase UTF8-characters for which there is a lowercase representation. Since there is no proper Unicode uppercase and lowercase character-table in the internet that I was able to find, I checked the first million UTF8-characters against the Google-search and -KeywordTool and identified the following 78 characters as uppercase-characters, not being replaced by mb_strtolower, but having a UTF8 lowercase counterpart.

//the numbers in the in-line-comments display the characters’ Unicode code-points (CP).
function strtolower_utf8_extended ( $utf8_string )
<
$additional_replacements = array
( «Dž» => «dž» // 453 -> 454
, «Lj» => «lj» // 456 -> 457
, «Nj» => «nj» // 459 -> 460
, «Dz» => «dz» // 498 -> 499
, «Ϸ» => «ϸ» // 1015 -> 1016
, «Ϲ» => «ϲ» // 1017 -> 1010
, «Ϻ» => «ϻ» // 1018 -> 1019
, «ᾈ» => «ᾀ» // 8072 -> 8064
, «ᾉ» => «ᾁ» // 8073 -> 8065
, «ᾊ» => «ᾂ» // 8074 -> 8066
, «ᾋ» => «ᾃ» // 8075 -> 8067
, «ᾌ» => «ᾄ» // 8076 -> 8068
, «ᾍ» => «ᾅ» // 8077 -> 8069
, «ᾎ» => «ᾆ» // 8078 -> 8070
, «ᾏ» => «ᾇ» // 8079 -> 8071
, «ᾘ» => «ᾐ» // 8088 -> 8080
, «ᾙ» => «ᾑ» // 8089 -> 8081
, «ᾚ» => «ᾒ» // 8090 -> 8082
, «ᾛ» => «ᾓ» // 8091 -> 8083
, «ᾜ» => «ᾔ» // 8092 -> 8084
, «ᾝ» => «ᾕ» // 8093 -> 8085
, «ᾞ» => «ᾖ» // 8094 -> 8086
, «ᾟ» => «ᾗ» // 8095 -> 8087
, «ᾨ» => «ᾠ» // 8104 -> 8096
, «ᾩ» => «ᾡ» // 8105 -> 8097
, «ᾪ» => «ᾢ» // 8106 -> 8098
, «ᾫ» => «ᾣ» // 8107 -> 8099
, «ᾬ» => «ᾤ» // 8108 -> 8100
, «ᾭ» => «ᾥ» // 8109 -> 8101
, «ᾮ» => «ᾦ» // 8110 -> 8102
, «ᾯ» => «ᾧ» // 8111 -> 8103
, «ᾼ» => «ᾳ» // 8124 -> 8115
, «ῌ» => «ῃ» // 8140 -> 8131
, «ῼ» => «ῳ» // 8188 -> 8179
, «Ⅰ» => «ⅰ» // 8544 -> 8560
, «Ⅱ» => «ⅱ» // 8545 -> 8561
, «Ⅲ» => «ⅲ» // 8546 -> 8562
, «Ⅳ» => «ⅳ» // 8547 -> 8563
, «Ⅴ» => «ⅴ» // 8548 -> 8564
, «Ⅵ» => «ⅵ» // 8549 -> 8565
, «Ⅶ» => «ⅶ» // 8550 -> 8566
, «Ⅷ» => «ⅷ» // 8551 -> 8567
, «Ⅸ» => «ⅸ» // 8552 -> 8568
, «Ⅹ» => «ⅹ» // 8553 -> 8569
, «Ⅺ» => «ⅺ» // 8554 -> 8570
, «Ⅻ» => «ⅻ» // 8555 -> 8571
, «Ⅼ» => «ⅼ» // 8556 -> 8572
, «Ⅽ» => «ⅽ» // 8557 -> 8573
, «Ⅾ» => «ⅾ» // 8558 -> 8574
, «Ⅿ» => «ⅿ» // 8559 -> 8575
, «Ⓐ» => «ⓐ» // 9398 -> 9424
, «Ⓑ» => «ⓑ» // 9399 -> 9425
, «Ⓒ» => «ⓒ» // 9400 -> 9426
, «Ⓓ» => «ⓓ» // 9401 -> 9427
, «Ⓔ» => «ⓔ» // 9402 -> 9428
, «Ⓕ» => «ⓕ» // 9403 -> 9429
, «Ⓖ» => «ⓖ» // 9404 -> 9430
, «Ⓗ» => «ⓗ» // 9405 -> 9431
, «Ⓘ» => «ⓘ» // 9406 -> 9432
, «Ⓙ» => «ⓙ» // 9407 -> 9433
, «Ⓚ» => «ⓚ» // 9408 -> 9434
, «Ⓛ» => «ⓛ» // 9409 -> 9435
, «Ⓜ» => «ⓜ» // 9410 -> 9436
, «Ⓝ» => «ⓝ» // 9411 -> 9437
, «Ⓞ» => «ⓞ» // 9412 -> 9438
, «Ⓟ» => «ⓟ» // 9413 -> 9439
, «Ⓠ» => «ⓠ» // 9414 -> 9440
, «Ⓡ» => «ⓡ» // 9415 -> 9441
, «Ⓢ» => «ⓢ» // 9416 -> 9442
, «Ⓣ» => «ⓣ» // 9417 -> 9443
, «Ⓤ» => «ⓤ» // 9418 -> 9444
, «Ⓥ» => «ⓥ» // 9419 -> 9445
, «Ⓦ» => «ⓦ» // 9420 -> 9446
, «Ⓧ» => «ⓧ» // 9421 -> 9447
, «Ⓨ» => «ⓨ» // 9422 -> 9448
, «Ⓩ» => «ⓩ» // 9423 -> 9449
, «𐐦» => «𐑎» // 66598 -> 66638
, «𐐧» => «𐑏» // 66599 -> 66639
);

$utf8_string = mb_strtolower ( $utf8_string , «UTF-8» );

$utf8_string = strtr ( $utf8_string , $additional_replacements );

return $utf8_string ;
> //strtolower_utf8_extended()

Источник

Оцените статью