preg_replaceでutf8文字列からコントロール文字を削除する。
Unicode文字プロパティなるものを使うと、コントロール文字は「\p{Cc}」と表記できる。
最初、
$ret = preg_replace('@\p{Cc}@', '', $utf8string);
とやっていたのだけど、どうもうまく動いていない。
結論、
$ret = preg_replace('@\p{Cc}@u', '', $utf8string);
PHP: Unicode 文字プロパティ - Manual に「PHP 4.4.0 および 5.1.0 以降、UTF-8 モード を設定した場合に」と書いてあったのを見逃してた。。。