テキスト中に全角文字と半角文字が混在していると、その間が詰まって見にくいことがある。 そこで、ホームページなどでも、全角文字と半角文字の間に半角スペースを挿入することがよく行われる。 いちいち手作業で半角スペースを挿入するのも面倒なので、 今回は、PHP で自動的に半角スペースを挿入するプログラムを考えてみることにする。
考え方
今回は、全角平仮名と漢字、半角英数字のみを対象に考えてみることにする。
半角スペースを挿入する必要がある位置を■で示すと、
- 半角英数字が1つ以上並んでいる■日本語文字が1つ以上並んでいる
- 日本語文字が1つ以上並んでいる■半角英数字が1つ以上並んでいる
の2つのケースに限られる。
各々を正規表現であらわすと
- ([0-9A-Za-z]+)([ぁ-煕]+)
- ([ぁ-煕]+)([0-9A-Za-z]+)
となる。
あとは、「全角カンマ/ピリオドを句読点に置換する」で処理したのと同じように、1⇒2の順に半角スペースを挿入してやればよい。
(この項つづく)
| 2007年02月24日更新 | ||
| <<前へ | <目次> | 次へ>> |
| 戻る | 【関連ページ】 | |