全角文字、半角文字の混在が検索処理などを阻害しているとして、入力時に整形処理を行ってほしいとの要望。簡単にできないか、と思って調べたところ、標準関数でありました。あるんですね。いいなこれ。
関数名は「mb_convert_kana」。使い方は下記のような感じ。
<?php $source = "アイウ ABC #&%"; var_dump( mb_convert_kana($source, 'KVa', "shift_jis") ); ?>
上記の処理結果はこんな感じになります。
string 'アイウ ABC #&%' (length=14)
第2引数で変換処理のパターンを指定しますが、「a」を指定すると英数字のみならず全角記号も半角にしてくれるようです。これを使えば
- カナは全角で
- 英数字記号は半角で
というルールを実装するのも簡単ですね。
プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)
- 作者: 矢野啓介
- 出版社/メーカー: 技術評論社
- 発売日: 2010/02/18
- メディア: 単行本(ソフトカバー)
- 購入: 34人 クリック: 578回
- この商品を含むブログ (129件) を見る