PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mb_convert_encoding> <mb_check_encoding
Last updated: Fri, 18 Jul 2008

view this page in

mb_convert_case

(PHP 4 >= 4.3.0, PHP 5)

mb_convert_case — Perform case folding on a string

Description

string mb_convert_case ( string $str , int $mode [, string $encoding ] )

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

Parameters

str

The string being converted.

mode

The mode of the conversion. It can be one of MB_CASE_UPPER, MB_CASE_LOWER, or MB_CASE_TITLE.

encoding

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

Return Values

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

Unicode

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 as A-umlaut (Ä).

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

Examples

Example #1 mb_convert_case() example

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



mb_convert_encoding> <mb_check_encoding
Last updated: Fri, 18 Jul 2008
 
add a note add a note User Contributed Notes
mb_convert_case
info at yasarnet dot com
04-Jul-2008 08:57
For my case following did the work to capitalize UTF-8 encoded string.

function capitalize($str, $encoding = 'UTF-8') {
    return mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_strtolower(mb_substr($str, 1, mb_strlen($str), $encoding), $encoding);
}
thomas underscore corthals at hotmail dot com
16-Aug-2006 12:30
If you want to capitalize the first letter of a multibyte string, you can use this function.

<?php
function capitalize($str, $encoding = null) {
    
$str = mb_strtoupper($str{0}, $encoding) . mb_substr($str, 1, null, $encoding);
     return
$str;
}
?>
alex at agileware dot net
07-Feb-2006 03:02
This function is a bit more flexible than using mb_convert_case with MB_CASE_TITLE, because it lets you add words whose case you don't want modified.

function title_case($string, $exceptions = array('to', 'a', 'the', 'of', 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X')) {
    $words = split(" ", $string);
    $newwords = array();

    foreach ($words as $word)
    {
        if (!array_key_exists($word, $exceptions)) {
            $word = strtolower($word);
            $word = ucfirst($word);
        }
        array_push($newwords, $word);

    }

    return ucfirst(join(" ", $newwords));
}
footballkid4 at hotmail dot com
04-Feb-2006 05:59
This function will capitalize the first letter ( the same as using mb_convert_case with MB_CASE_TITLE flag, but when using a sentence, it'll only capitalize the first word )

<?php
function capitalize(&$input) {
    
$input = strtoupper( substr( $input , 0 , 1 ) ).strtolower( substr( $input , 1 ) );
     return
$input;
}
?>

Very short, uses substr, strtoupper, and strtoupper only
Rasa Ravi at tantrajoga dot cz
30-Apr-2005 10:36
For CZECH characters:
<?php
$text
= mb_convert_case($text, MB_CASE_LOWER, "Windows-1251");
?>
The right encoding Windows-1250 is not valid (see the list mb_list_encodings), but Windows-1251 will do the same 100%. The function strtolower() ignores czech characters with diacritics.

mb_convert_encoding> <mb_check_encoding
Last updated: Fri, 18 Jul 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites