PHP 5.3からはmb_regex_encodingの指定をした方がよい

PHP 5.2で動いていたページが5.3にバージョンアップしたところ、以下のようなエラーを出すようになりました。

Warning: mbregex compile err: premature end of regular expression ...

正規表現に使用する文字コードをしていないことが原因です。

mb_regex_encoding("UTF-8");

このような一文を入れたところ解決しました。

日本語を扱う場合は、最初の方にmb_internal_encodingとmb_regex_encodingをお約束のように記述することが良さそうです。