01.
function
isUTF8(
$string
){
02.
return
preg_match('%(?:
03.
[\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
04.
|\xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
05.
|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
06.
|\xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
07.
|\xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
08.
|[\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
09.
|\xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
10.
)+%xs',
$string
);
11.
}