PHP

【PHP】カタカナを、全銀フォーマットに対応した文字列に変換

概要

タイトル通り、カタカナを、全銀フォーマットに対応した文字列に変換する関数です。付け焼き刃なので、参考程度に・・・。

実装

/**
 * 与えられた文字列を全銀フォーマットに変換
 * @param string $kana 変換前文字列(カタカナ)
 * @return string 全銀フォーマット対応文字列
 */
public function get_zengin_format($kana) {
    // 全銀フォーマットの利用可能文字以外を除外するための正規表現(preg_replace用)
    $_zengin_pattern = '/[^0-9A-Zアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚\(\)「」\/\-\.\\ ]/u';

    // 全銀フォーマット 特定文字列の置換リスト
    $_zengin_replace_from = array('ー');
    $_zengin_replace_to = array('-');

    // アルファベットを大文字化、全文字を半角化、特定文字を置換、全銀フォーマット外の文字を除去
    $kana = strtoupper($kana);
    $kana = mb_convert_kana($kana, 'khsa');
    $kana = str_replace($_zengin_replace_from, $_zengin_replace_to, $kana);
    $kana = preg_replace($_zengin_pattern, '', $kana);

    return $kana;
}