PHPのmb_strtoupper()関数で文字列を大文字に変換する方法
PHPには、マルチバイト文字列を安全に扱うための関数が数多く用意されています。その中でもmb_strtoupper()は、指定した文字列内のすべての英字を大文字に変換するための組み込み関数です。日本語などのマルチバイト文字が混在する文字列でも、文字化けを起こさずに処理できるのが大きな特徴です。
構文
string mb_strtoupper(string $string, ?string $encoding = null)
パラメータ
mb_strtoupper()は、以下の2つの引数を受け取ります。
- $string: 大文字に変換したい対象の文字列を指定します。
- $encoding: 文字エンコーディングを指定します。省略した場合、またはnullを渡した場合は、php.iniで設定されている内部文字エンコーディング(mb_internal_encoding()の値)が使用されます。
戻り値
すべての英字が大文字に変換された文字列(string)を返します。数字や記号、すでに大文字になっている文字などはそのまま維持されます。
使用例
次のコードでは、mb_strtoupper()を使って文字列全体を大文字に変換しています。
<?php
$string = "Hello World!, Welcome to online tutorials";
$string = mb_strtoupper($string);
echo $string;
?>実行結果
上記のコードを実行すると、与えられた文字列のすべての英字が大文字に変換されて出力されます。
HELLO WORLD!, WELCOME TO ONLINE TUTORIALS
補足:mb_strtoupper()とstrtoupper()の違い
PHPには類似の関数としてstrtoupper()がありますが、こちらはシングルバイト文字列向けの関数です。UTF-8などのマルチバイトエンコーディングの文字列に対して使うと、正しく動作しない場合があります。日本語環境での開発では、mb_strtoupper()を使用することをおすすめします。
-
PHPでランダム文字列を生成する方法【初心者向けサンプルコード付き】
PHPでランダムな文字列を生成するには、いくつかの方法があります。本記事では、md5() 関数と mt_rand() 関数を組み合わせたシンプルな手法と、PHP 7以降で利用できる暗号学的に安全な random_bytes() 関数を使った方法を、サンプルコードと実行結果とともに解説します。 例1:md5() と mt_rand() を組み合わせる方法 mt_rand() で生成した乱数を md5() でハッシュ化し、substr() で先頭5文字を切り出すことで、ランダムな文字列を作成します。 <?php $res = substr(md5(mt_rand()
-
Javaの正規表現(RegEx)を使って文字列内のすべての大文字を末尾に移動する方法
正規表現のサブ式「[ ]」は、角括弧内で指定されたすべての文字に一致します。この性質を利用すると、文字列内のすべての大文字を検出して末尾に移動することができます。大文字を末尾に移動する手順対象の文字列に含まれるすべての文字を先頭から順に反復処理します。正規表現「[A-Z]」を使用して、文字列内のすべての大文字に一致させます。一致した大文字とそれ以外の文字を、それぞれ別の文字列に振り分けて連結します。最後に、大文字を集めた文字列を、残りの文字列の後ろに連結します。例1:charAt()とmatches()を使った基本的な実装public class RemovingSpecialCharacte