覚えておくと意外と便利なので、備忘録としてまとめ。
PHPで全角を半角に、もしくはその逆を行う方法です。
今回使う関数は、mb_convert_kana()です。
参考にさせていただいたページはこちら。
PHP関数 – 半角 ⇔ 全角 変換 – mb_convert_kana() – PHP入門のカルマ
https://webkaru.net/php/function-mb-convert-kana/
使い方はこちら。
$result = mb_convert_kana([変換したい文字列], [変換方法]);
上記のように指定します。
なお、変換方法は省略が可能で、省略した場合は、KV(=「半角カタカナ」を「全角カタカナ」にし、濁点付きの文字を一文字に変換)になります。
変換方法の一覧は下記のとおりです。
| オプション | 変換内容 |
|---|---|
| r | 「全角」英字を「半角」に変換 |
| R | 「半角」英字を「全角」に変換 |
| n | 「全角」数字を「半角」に変換 |
| N | 「半角」数字を「全角」に変換 |
| a | 「全角」英数字を「半角」に変換 |
| A | 「半角」英数字を「全角」に変換 |
| s | 「全角」スペースを「半角」に変換 |
| S | 「半角」スペースを「全角」に変換 |
| k | 「全角カタカナ」を「半角カタカナ」に変換 |
| K | 「半角カタカナ」を「全角カタカナ」に変換 |
| h | 「全角ひらがな」を「半角カタカナ」に変換 |
| H | 「半角カタカナ」を「全角ひらがな」に変換 |
| c | 「全角カタカナ」を「全角ひらがな」に変換 |
| C | 「全角ひらがな」を「全角カタカナ」に変換 |
| V | 濁点付きの文字を一文字に変換。K、Hと共に使用 |
よく使いそうなのは、「as」かな?
このオプションでは、英数字とスペースを半角にします。
なお、オプションは複数指定できます。
以上、文字列を全角←→半角に変換する方法でした。
全角が入力されては困る項目などでは、少なくとも「askh」あたりを指定しておけば、ある程度は対応できるかと思います。
是非、ご活用ください。