Perform case folding on a string

- « mb_chr

- mb_convert_encoding »

- PHP Manual
- Multibyte String Functions
- Perform case folding on a string

# mb_convert_case

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_convert_case — Perform case folding on a string

### Description

mb_convert_case(string `$string`, int `$mode`, ?string `$encoding` = `null`): string

Performs case folding on a string, converted in the way specified by `mode`.

### Parameters

`string`

  The string being converted.

`mode`

  The mode of the conversion. It can be one of `MB_CASE_UPPER`, `MB_CASE_LOWER`, `MB_CASE_TITLE`, `MB_CASE_FOLD`, `MB_CASE_UPPER_SIMPLE`, `MB_CASE_LOWER_SIMPLE`, `MB_CASE_TITLE_SIMPLE`, `MB_CASE_FOLD_SIMPLE`.

`encoding`

  The `encoding` parameter is the character encoding. If it is omitted or `null`, the internal character encoding value will be used.

### Return Values

A case folded version of `string` converted in the way specified by `mode`.

### Changelog

Version | Description
--- | ---
8.3.0 | Implemented conditional casing rules for the Greek letter sigma which only apply to `MB_CASE_LOWER` and `MB_CASE_TITLE` modes, not to `MB_CASE_LOWER_SIMPLE` and `MB_CASE_TITLE_SIMPLE`.
7.3.0 | Added support for `MB_CASE_FOLD`, `MB_CASE_UPPER_SIMPLE`, `MB_CASE_LOWER_SIMPLE`, `MB_CASE_TITLE_SIMPLE`, and `MB_CASE_FOLD_SIMPLE` as `mode`.

### Examples

Example #1 mb_convert_case() example

    <?php
    $str = "mary had a Little lamb and she loved it so";
    $str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
    echo $str; // Prints MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
    $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
    echo $str; // Prints Mary Had A Little Lamb And She Loved It So
    ?>

Example #2 mb_convert_case() example with non-Latin UTF-8 text

    <?php
    $str = "Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός";
    $str = mb_convert_case($str, MB_CASE_UPPER, "UTF-8");
    echo $str; // Prints ΤΆΧΙΣΤΗ ΑΛΏΠΗΞ ΒΑΦΉΣ ΨΗΜΈΝΗ ΓΗ, ΔΡΑΣΚΕΛΊΖΕΙ ΥΠΈΡ ΝΩΘΡΟΎ ΚΥΝΌΣ
    $str = mb_convert_case($str, MB_CASE_TITLE, "UTF-8");
    echo $str; // Prints Τάχιστη Αλώπηξ Βαφήσ Ψημένη Γη, Δρασκελίζει Υπέρ Νωθρού Κυνόσ
    ?>

### Notes

By contrast to the standard case folding functions such as strtolower() and strtoupper(), case folding is performed on the basis of the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such a-umlaut (ä).

For more information about the Unicode properties, please see » http://www.unicode.org/reports/tr21/.

### See Also

- mb_strtolower() - Make a string lowercase
- mb_strtoupper() - Make a string uppercase
- strtolower() - Make a string lowercase
- strtoupper() - Make a string uppercase
- ucfirst() - Make a string's first character uppercase
- ucwords() - Uppercase the first character of each word in a string