mb_convert_case

文字列に対してケースフォールディングを行う

説明

string mb_convert_case(string $string, int $mode, stringnull $encoding = null)

mode で指定された方法で string に対してケースフォールディングを行います。

パラメータ

string

変換される文字列。

mode

変換モード。以下のうちいずれかひとつです。 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

encoding パラメータには文字エンコーディングを指定します。省略した場合、もしくは null の場合は、 内部文字エンコーディングを使用します。

戻り値

mode で指定された方法で string に対してケースフォールディングを行った結果を返します。

変更履歴

バージョン 説明
8.3.0 ギリシャ文字のシグマ向けに、条件付きのケースルールが実装されました。 これは MB_CASE_LOWERMB_CASE_TITLE にのみ適用されます。 MB_CASE_LOWER_SIMPLEMB_CASE_TITLE_SIMPLE には適用されません。
7.3.0 modeMB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE, MB_CASE_FOLD_SIMPLE のサポートが追加されました。

例1 mb_convert_case の例

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

例2 非ラテン UTF-8 テキストでの mb_convert_case の例

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

Unicode

標準のケースフォールディング関数である strtolowerstrtoupper と違い、ケースフォールディングは Unicode 文字属性を基準に行われます。したがって、この関数の挙動は ロケールの設定に影響されず、また、すべてのアルファベット、 例えば A ウムラウト (Ä) を変換することができます。

Unicode 文字属性についての詳細は » http://www.unicode.org/reports/tr21/ を参照ください。

参考

  • mb_strtolower
  • mb_strtoupper
  • strtolower
  • strtoupper
  • ucfirst
  • ucwords