入库前
$text = preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '@E' . base64_encode($r[0]);}, $text);
出库后
$text = preg_replace_callback('/@E(.{6}==)/', function($r) {return base64_decode($r[1]);}, $text);
直接过滤掉
$text = preg_replace_callback('/[\xf0-\xf7].{3}/', function($r) { return '';}, $text);
原载: No.1网络工作室 http://www.noonenet.cn/