PHP入門 文字列関数 文字列を大文字、小文字で変換する(mb_convert_case関数)
文字列の大文字/小文字を変換するには、mb_convert_case関数を使用します。
構文:mb_convert_case関数
mb_convert_case(string $string , int $mode [, ?string $encoding]):string
$string | 対象の文字列 |
$mode | 変換モード |
$encoding | 使用する文字エンコーディング(省略時はdefault_charsetパラメータの値) |
変換モード
モード | 概要 |
---|---|
MB_CASE_UPPER | 小文字⇒大文字に変換 |
MB_CASE_LOWER | 大文字⇒小文字に変換 |
MB_CASE_TITLE | 先頭文字を大文字に変換(それ以外は小文字) |
MB_CASE_XXXXX_SIMPLE | 文字列長が変化しない変換(XXXXXはLOWER、UPPER、TITLE) |
例:
<?php
$data1 = 'Php project';
$data2 = 'PHPプロジェクト';
$data3 = 'Fußball';
print mb_convert_case($data1, MB_CASE_UPPER); //結果:PHP PROJECT
print mb_convert_case($data1, MB_CASE_LOWER); //結果:php project
print mb_convert_case($data1, MB_CASE_TITLE); //結果:Php Project
print mb_convert_case($data2, MB_CASE_LOWER); //結果:phpプロジェクト➊
print mb_convert_case($data3, MB_CASE_UPPER); //結果:FUSSBALL➋
print mb_convert_case($data3, MB_CASE_UPPER_SIMPLE);//結果:FUßBALL ➋
➊のマルチバイト文字の変換も問題なく動作します。MB_CASE_XXXXXX_SIMPLEは、シンプルな文字列長が変化しない変換です。たとえばドイツ語のß(エスツェット)は「ss」を表すので、MB_CASE_UPPERでは分解されて「FUSSBALL」となります。一方、MB_CASE_UPPER_SIMPLEでは「FUßBALL」で、文字列長が維持されます。