×

Welcome to TagMyCode

Please login or create account to add a snippet.
1
0
 
2
Language: PHP
Posted by: Massimo Zappino
Added: Feb 24, 2011 5:15 PM
Views: 280
Tags: string utf8
  1. function isUtf8($str)
  2.     {
  3.         return (bool)preg_match(
  4.             '%^(?:
  5.                  [\x09\x0A\x0D\x20-\x7E]            # ASCII
  6.                | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte
  7.                |  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
  8.                | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte
  9.                |  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
  10.                |  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
  11.                | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15
  12.                |  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
  13.            )*$%xs',
  14.             $str
  15.         );
  16.     }

1 comment

petecocoon 6 years ago
nice trick!

Write a comment