【PHP入門2021】文字列の全角半角の変換をするmb_convert_kana関数

PHP

mb_convert_kana関数の基本構文

mb_convert_kana関数全角と半角、カタカナとひらがなに関する様々な変換を行います。
記号やスペース、濁点の扱いなどオプションによって変換内容を細かく指定できます。

mb_convert_kana ( string $string , string $mode = "KV" , string $encoding = null )

パラメータ

名前 初期値 説明
string $string 変換する対象の文字列
string $mode KV 変換内容を指定するオプション
string $encoding null エンコーディング文字列
例) SJIS, SJIS-win, ISO-2022-JP, JIS, UTF-8, EUC-JP

変換が効かない場合や文字化けが起こる場合は文字エンコーディングを指定してみてください

modeのオプション一覧

オプション 意味
r 「全角」英字を「半角」に変換
R 「半角」英字を「全角」に変換
n 「全角」数字を「半角」に変換
N 「半角」数字を「全角」に変換
a 「全角」英数字を「半角」に変換
A 「半角」英数字を「全角」に変換
s 「全角」スペースを「半角」に変換
S 「半角」スペースを「全角」に変換
k 「全角カタカナ」を「半角カタカナ」に変換
K 「半角カタカナ」を「全角カタカナ」に変換
h 「全角ひらがな」を「半角カタカナ」に変換
H 「半角カタカナ」を「全角ひらがな」に変換
c 「全角カタカナ」を「全角ひらがな」に変換
C 「全角ひらがな」を「全角カタカナ」に変換
V 濁点付きの文字を一文字に変換します。”K”, “H” と共に使用

※記号を変換するにはAaオプションを使います。a=r+n, A=R+Nだと思いがちなので注意が必要です。

返り値(戻り値)

説明
string 変換した後の文字列

mb_convert_kana関数の使い方

数字を全角から半角に変換

//数字を全角半角変換
echo mb_convert_kana("123", "n") . PHP_EOL;
出力
123

全角スペースを半角に変換

//スペースを全角半角変換
echo mb_convert_kana("全角スペース「 」", "s") . PHP_EOL;
出力
全角スペース「 」

記号を全角から半角に変換

記号の変換にはちょっと注意が必要です。aオプションを使う必要があります

//記号を半角にするにはa
echo mb_convert_kana("#$?", "rn") . PHP_EOL; //英数個別に指定してもダメ
echo mb_convert_kana("#$?", "a") . PHP_EOL;  //aオプションなら記号変換できる
出力
#$?
#$?

半角カナの濁点を統合して1文字の全角カナに

//半角カナの濁点を統合して1文字の全角カナに
echo mb_convert_kana("ガギグゲゴ", "KV") . PHP_EOL; //VはKかHと一緒に使う
出力
ガギグゲゴ

全ての半角を全角・ひらがなに統一するサンプルコード

//オプション指定して全てを半確認統一
echo mb_convert_kana("ABCABC 123123あいうえおアイウエオアイウエオ ギャップ", "ASHcV") . PHP_EOL;
出力
ABCABC 123123あいうえおあいうえおあいうえお ぎゃっぷ

全ての全角を半角・カタカナに統一のサンプルソースコード

//オプション指定して全てを半確認統一
echo mb_convert_kana("ABCABC 123123あいうえおアイウエオアイウエオ ギャップ", "askh") . PHP_EOL;
出力
ABCABC 123123アイウエオアイウエオアイウエオ ギャップ

関連する関数

mb_internal_encoding

strtolower/mb_strtolower

strtoupper/mb_strtoupper

コメント

タイトルとURLをコピーしました