【PHP】日本語のみで使用可能な関数

  • 2020年2月21日
  • PHP

 PHPは世界中で使われているプログラミング言語であり、日本人ユーザはおそらく少数派です。そんなPHPですが日本語環境でのみ使用可能な関数があります(PHP: マルチバイト文字列 – Manualにある様なやや広範な範囲でなく本当に日本語のみ)。その関数は mb_convert_kana という関数でその名の通り かな や カナ を変換します。
PHP: mb_convert_kana – Manual
 具体的な挙動は次です

// 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" と共に使用します。
--FILE--
<?php
echo mb_convert_kana('あゝすゞめアヽスヾメ', 'C', 'UTF-8') . "\n";
echo mb_convert_kana('あゝすゞめアヽスヾメ', 'c', 'UTF-8') . "\n";
// オプションは組み合わせ手使えます。全角カタカナと半角スペースに統一したいならば次
echo mb_convert_kana('あゝすゞめアヽスヾメア ガ', 'KVCs') . "\n";
?>
--EXPECT--
アヽスヾメアヽスヾメ
あゝすゞめあゝすゞめ
アヽスヾメアヽスヾメア ガ

 正規表現やstr_replaceでちまちまやらなくとも一発です。
 この関数、PHP4の時点で既にあったようで、GitHub上にあるphp-srcのmbstr関数定義を遡っていくと2001年4月末に”added japanese string function module”のコミットメッセージで追加されていました。歴史があります。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG