Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Multibyte String Functions : mb_convert_case

mb_convert_case

Perform case folding on a string (PHP 4 >= 4.3.0, PHP 5)
string mb_convert_case ( string str, int mode [, string encoding] )

Example 1391. 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
?>

Code Examples / Notes » mb_convert_case

footballkid4

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


alex

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));
}


thomas underscore corthals

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;
}
?>


rasa ravi

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.


Change Language


Follow Navioo On Twitter
mb_check_encoding
mb_convert_case
mb_convert_encoding
mb_convert_kana
mb_convert_variables
mb_decode_mimeheader
mb_decode_numericentity
mb_detect_encoding
mb_detect_order
mb_encode_mimeheader
mb_encode_numericentity
mb_ereg_match
mb_ereg_replace
mb_ereg_search_getpos
mb_ereg_search_getregs
mb_ereg_search_init
mb_ereg_search_pos
mb_ereg_search_regs
mb_ereg_search_setpos
mb_ereg_search
mb_ereg
mb_eregi_replace
mb_eregi
mb_get_info
mb_http_input
mb_http_output
mb_internal_encoding
mb_language
mb_output_handler
mb_parse_str
mb_preferred_mime_name
mb_regex_encoding
mb_regex_set_options
mb_send_mail
mb_split
mb_strcut
mb_strimwidth
mb_stripos
mb_stristr
mb_strlen
mb_strpos
mb_strrchr
mb_strrichr
mb_strripos
mb_strrpos
mb_strstr
mb_strtolower
mb_strtoupper
mb_strwidth
mb_substitute_character
mb_substr_count
mb_substr
eXTReMe Tracker