2011年3月11日金曜日

phpで仮名を全角に、英数字と空白を半角に統一する(mb_convert_kana)

何と1行でできる

mb_convert_kanaを使用する

/*「半角カタカナ」を「全角カタカナ」に変換し、
 「全角」英数字を「半角」に変換します。
  オプションの意味
   K: かな半→全
   V: 濁点をマージ
   a: 英数字を半角にする
   s: スペースを半角にする(U+3000 -> U+0020)
 */

$str = mb_convert_kana($str, 'KVas', 'utf-8');

エンコードをEUCもしくはUTF-8とすれば、ついでに英数字の後に続く長音記号をハイフンに変換するのも簡単。

$str = mb_convert_kana($str, 'KVas', 'utf-8');
$str = preg_replace('/([a-z0-9])ー/i', '${1}-', $str);

0 件のコメント:

コメントを投稿