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

  • 2020年2月21日
  • PHP

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 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