マルチバイトの正規表現置換

preg_replace()でマルチバイトを置換する場合、パターン修飾子'u'を設定する必要がある。
ただしutf-8でなければダメらしい。
それ以外の文字コードは素直にmb_ereg_replace()を使いましょう。
preg_match()でも同じ。

<?php
//マッチパターンが見えなくなっているが、半・全角スペースを半角スペースに置換。
//スペースが連続している場合はまとめる。
$hoge = preg_replace('/[  ]+/u', ' ', $hoge);