全角数字⇔半角数字・全角カナ⇔半角カナ変換
クライアントからメールで原稿が届いて「そういえばこの人、いつも半角と全角が入り混じってるんだよなー」なんて思った瞬間「これは勉強のチャンス!」と気づいた。PHPでそれらを変換するスクリプトを書いてみたよ。半角から全角、全角から半角、どっちへでも変換できるようにした。ラジオボタンで切替。
ついでに携帯サイト用にカタカナを半角にする機会もたまにあるから、そんな時用のも書いた。
勉強メモ
mb_convert_kana関数
今回使った関数はmb_convert_kanaという関数。何を何に変換するかのオプションを組み合わせて変換する。
mb_convert_kana ( 文字列 , オプション , エンコード );
エンコードは省略可能で、その場合は内部文字エンコーディングを使用とのこと。
内部文字エンコーディングの値はphp.iniの「mbstring.internal_encoding」で設定された値となる。指定できるオプションは以下の通り(マニュアルのまんまだけれど)
オプション | 内容 |
---|---|
r | 「全角」英字を「半角」に変換します。 |
R | 「半角」英字を「全角」に変換します。 |
n | 「全角」数字を「半角」に変換します。 |
N | 「半角」数字を「全角」に変換します。 |
a | 「全角」英数字を「半角」に変換します。 |
A | 「半角」英数字を「全角」に変換します ("a", "A" オプションに含まれる文字は、U+0022, U+0027, U+005C, U+007Eを除く U+0021 - U+007E の範囲です)。 |
s | 「全角」スペースを「半角」に変換します(U+3000 -> U+0020)。 |
S | 「半角」スペースを「全角」に変換します(U+0020 -> U+3000)。 |
k | 「全角カタカナ」を「半角カタカナ」に変換します。 |
K | 「半角カタカナ」を「全角カタカナ」に変換します。 |
h | 「全角ひらがな」を「半角カタカナ」に変換します。 |
H | 「半角カタカナ」を「全角ひらがな」に変換します。 |
c | 「全角カタカナ」を「全角ひらがな」に変換します。 |
C | 「全角ひらがな」を「全角カタカナ」に変換します。 |
V | 濁点付きの文字を一文字に変換します。"K", "H" と共に使用します。 |
<< 「お知らせ」が「更新情報」に派生した | PHP ユーザー定義関数 >>
トラックバック
このエントリーのトラックバックURL:
http://redline.hippy.jp/cgi/mt/mt-tb.cgi/216
コメント (2)
全角数字を半角数字に変換すると、テキストに\があるとこれが\\に変換されてしまう。
投稿者: saboroおじさん | 2010年02月10日 09:49
>saboroおじさん
コメントありがとうございました。
修正しましたー。
投稿者: Red | 2010年02月10日 10:35