PHPで半角・全角を相互変換できる mb_convert_kana の使い方

PHPを使っていて、

  • 半角 ⇔ 全角で相互変換した
  • ひらがな ⇔ カナカナを変換したい

こういうことって多くないですか?

実はこういう相互変換用に mb_convert_kana  関数っていう超便利な関数があります

ここでは それを使い、半角・全角を相互変換する方法 を色々まとめました。

mb_convert_kaba関数とは...

,まずこの mb_convert_kana  関数の概要について

これはその名の通り、ひらがな・カタカナを相互変換できる関数です。

▼ 変換したい文字列を $str  、オプションを $opt  , エンコーディングを $ecnocding  をすると、次みたいな感じで文字列を変換できる

まあ $str  を半角とか全角のひらがな・カタカナに変換できる感じ

大事なのは $opt  にオプション(例: 'KV'  とか)を渡すことで、
複雑なひらがな・カタカナの変換、半角・全角の変換が簡単にできる訳です。

では次から、よく使う具体的な変換コード例を紹介していきます。

具体的な半角・全角&カタカナ・ひらがな変換のコード例

個人的によく使う mb_convert_kana  関数の使用例は次の通り

1.半角カタカナ ⇔ 全角カタカナに相互変換

こういう変換をしたい場合は、

  • 半角カナ ⇒ 全角カナなら 'K'  オプション、
  • 全角カナ ⇒ 半角カナなら 'k'  オプション

それぞれの変換コード例は次の通り

 

▼ 半角カナ ⇒ 全角カナ の変換コード例

Kオプションを単体で使うと、濁点も1文字としてカウントされます。

もし濁点込みで1文字にしたいなら V オプションもつける必要ありです。

 

▼ 全角カナ ⇒ 半角カナの変換コード例

こっちの方は  V オプションが使えないので少し注意

2.ひらがなを半角全角カタカナに変換

この場合は mb_convert_kana  関数のオプションに、

  • ひらがな ⇒ 半角カナなら 'h'  オプション、
  • ひらがな ⇒ 全角カナなら 'C'  オプション

それぞれ、こういうオプションを渡せばOK

 

▼ ひらがな ⇒ 半角カタカナの変換コード例

ただし 濁点を含むものは、濁点も含めて1文字として変換される みたいです。

これがカタカナの時との違いですね。(カタカナだと V オプションを付けないとダメ)

 

▼  ひらがな ⇒ 全角カタカナの変換コード例

ひらがな ⇒ 半角・全角カタカナの変換はこういう感じ

3.半角数字と全角数字の相互変換

数字を半角・全角にコンバートしたいなら、

  • 半角数字 ⇒ 全角数字なら 'N'  オプション、
  • 全角数字 ⇒ 半角数字なら 'n'  オプション

こういう風にオプションを渡せばOK

 

▼ 半角数字 ⇒ 全角数字の変換コード例

 

▼ 全角数字 ⇒ 半角数字の変換コード例

数字の変換は 郵便番号 とか 電話番号 をデータベースに保管するとか、そういう時に便利かも

4.全角スペースから半角スペースへの相互変換

スペース同士を半角・全角に変換したいなら、

  • 全角 ⇒ 半角なら 's'  オプション
  • 半角 ⇒ 全角なら 'S'  オプション

以下このオプションを使った、具体的なコード例

 

▼ 全角スペース ⇒ 半角スペースの変換コード例

 

▼ 半角スペース ⇒ 全角スペースの変換コード例

スペースもデータ保存とかで変換が必要になる場面もあるかもです。

ここまでのまとめ

以上、mb_convert_kana 関数の使い方・コード例でした。

データを整形したいときとか、データベースに保存する値に全角を含めたくないときとか・・・

色々な場面で応用ができそうな便利な関数です。