krot

detectUTF8

Jan 14th, 2016
63
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function detectUTF8($string)
  2. {
  3.         return preg_match('%(?:
  4.        [\xC2-\xDF][\x80-\xBF]        # non-overlong 2-byte
  5.        |\xE0[\xA0-\xBF][\x80-\xBF]               # excluding overlongs
  6.        |[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}      # straight 3-byte
  7.        |\xED[\x80-\x9F][\x80-\xBF]               # excluding surrogates
  8.        |\xF0[\x90-\xBF][\x80-\xBF]{2}    # planes 1-3
  9.        |[\xF1-\xF3][\x80-\xBF]{3}                  # planes 4-15
  10.        |\xF4[\x80-\x8F][\x80-\xBF]{2}    # plane 16
  11.        )+%xs', $string);
  12. }
RAW Paste Data