function charset_decode_utf_8 ($string)
{
if (! ereg(“[\200-\237]”, $string) and ! ereg(“[\241-\377]”, $string))
return $string;
// decode three byte unicode characters
$string = preg_replace(“/([\340-\357])([\200-\277])([\200-\277])/e”,
“’&#’.((ord(‘\1’)-224)*4096 + (ord(‘\2’)-128)*64 + (ord(‘\3’)-128)).’;’”,
$string);
// decode two byte unicode characters
$string = preg_replace(“/([\300-\337])([\200-\277])/e”,
“’&#’.((ord(‘\1’)-192)*64+(ord(‘\2’)-128)).’;’”,
$string);
return $string;
}
No comments:
Post a Comment