>>213, 215, 216

汚いけどナントカ動きました。
一度にやらなければそんなにむつかしくなかったです。

$str = "掠";
preg_match_all( "/&#([0-9]{5});/", $str, $match );
for( $i=0; $i<count( $match[0] ); $i++ ) {
$match[1][$i] = '&#' . DecHex( $match[1][$i] ) . ';';
$str = ereg_replace( $match[0][$i], $match[1][$i], $str );
}
return $str;