PHP

PHP 機種依存文字を変換

機種依存文字が?になってしまい使用できないケースがあり、変換する関数を作成しました。

/**
  * 機種依存文字を変換
  *
  * @param string $text 変換したい文字列
  */
function convert_kishu( $text ){

        $kishu_array = ['㈱', '㈲', '㈹', '㍾', '㍽', '㍼', '㍻', '㎜', '㎝', '㎞', '㎎', '㎏', '㏄',
         '㍉', '㌔', '㌢', '㍍', '㌘', '㌧', '㌃', '㌶', '㍑', '㍗', '㌍', '㌦', '㌣', '㌫', '㍊', '㌻',
         '①', '②', '③', '④', '⑤', '⑥', '⑦', '⑧', '⑨', '⑩', '⑪', '⑫', '⑬', '⑭', '⑮', '⑯',
         '⑰', '⑱', '⑲', '⑳', 'Ⅰ', 'Ⅱ', 'Ⅲ', 'Ⅳ', 'Ⅴ'
         ];

        $replace_kishu_array = [ '(株)', '(有)', '(代)', '明治', '大正', '昭和', '平成', 'mm', 'cm',
         'km', 'mg', 'kg', 'cc', 'ミリ', 'キロ', 'センチ', 'メートル', 'グラム', 'トン', 'アール',
         'ヘクタール','リットル', 'ワット', 'カロリー', 'ドル', 'セント', 'パーセント', 'ミリバール', 'ページ',
         '(1)', '(2)', '(3)', '(4)', '(5)', '(6)', '(7)', '(8)', '(9)','(10)', '(11)', '(12)', '(13)',
         '(14)', '(15)', '(16)', '(17)', '(18)', '(19)', '(20)', '(1)', '(2)', '(3)', '(4)', '(5)'
         ];

        return str_replace( $kishu_array, $replace_kishu_array, $text );
    }
}