ピンインにアポストロフィ

Pocket

北辞郎の検索結果におけるピンインの表記に手を入れました。音節間で母音が連続する場合や「n/ng」に母音が続く場合、一般的な辞書ではその間にアポストロフィを入れて区切ります。
これまで北辞郎ではこれができておらず、メンバーからご指摘をいただいたので(S様ありがとうございます)対応しました。北辞郎の内部ではピンインを「pin1yin1」のような簡易表記で扱っているため、この形式のピンインを与えると必要に応じてアポストロフィを加える関数を作ります(言語はPHP)。

function apostrophize($str) {
  $str = mb_ereg_replace("([aiueo]{1,1})([1-4]{1,1})([aoe]{1,1})", '\1\2\'\3', $str);
  $str = mb_ereg_replace("(ng?)([1-4]{1,1})([aoe]{1,1})", '\1\2\'\3', $str);
  return $str;
}

この関数に、apostrophize(“en1ai4”) のように引数を与えると「en1’ai4」が返ってきます。

例:恩爱 / 惊愕 / 西安

カテゴリー: PHP

コメントを残す

メールアドレスが公開されることはありません。