文字列の変換
入力された文字列の変換をしましょう。
ユーザが入力する文字列は、半角・全角や、カタカナ・ひらがながごちゃ混ぜになっていることがあります。 いろいろな形式の文字が混ざったままだと、後の処理が大変になります。 ここでは、入力された文字列の形式を変換する関数の使い方を学びましょう。
ユーザは勝手気ままに入力する!
入力フォームを作ると分かるのですが、ユーザは自分の好きなようにフォームに入力します。 さすがにメールアドレスはほとんどの人が半角で入力していますが、電話番号などの場合、半角で入力する人も、全角で入力する人もいます。
このような場合、「数字は半角入力してください。」などと、注意書きがあることが多いですが、これではユーザビリティに配慮している、とはいえませんね。 ユーザに余計な負担をかけるようなプログラムを作っては行けません。 また、そもそも多くのユーザは半角と全角の違いを意識していないので、そういう注意書きだけでなく、半角でも全角でも対応できるようなプログラムにしておくことが大事です。
関数 mb_convert_kana を利用して、文字列の変換をしよう。
PHP には、文字列の変換をするための関数が用意されています。 関数 mb_convert_kana を利用します。
$output = mb_convert_kana($input, "KVa"); print "入力された文字列は $input です。<br>"; print "変換後の文字列は $output です。<br>";
オプションの "K" "V" "a" は、変換の仕方を指示しています。 "K" は半角カタカナを全角カタカナに変換するように指示しています。 "V" は濁点付きの半角カタカナを、濁点を合わせて1文字で全角カタカナに変換するように指示しています。 "a" は全角英数字を半角英数字に変換するように指示しています。
ここを変更することで、変換の仕方をいろいろと変えることができます。 可能なオプションは、以下に示す通りです。
アルファベット | 変換の仕方 |
---|---|
r | 全角英字 => 半角英字 |
R | 半角英字 => 全角英字 |
n | 全角数字 => 半角数字 |
N | 半角数字 => 全角数字 |
a | 全角英数字 => 半角英数字 |
A | 半角英数字 => 全角英数字 |
s | 全角スペース => 半角スペース |
S | 半角スペース => 全角スペース |
k | 全角カタカナ => 半角カタカナ |
K | 半角カタカナ => 全角カタカナ |
h | 全角ひらがな => 全角カタカナ |
H | 半角カタカナ => 全角ひらがな |
c | 全角カタカナ => 全角ひらがな |
C | 全角ひらがな => 全角カタカナ |
V | 濁点半角カナを1文字にする(K、H と使用) |