Nhận ra chuỗi UTF-8


/**
* Nhận ra đoạn mã UTF-8
*
*/

function isUTF8($string) {

// from http://w3.org/International/questions/qa-forms-utf-8.html
return 0 != preg_match('%^(?:

[\x09\x0A\x0D\x20-\x7E]            # ASCII

| [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte

|  \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs

| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte

|  \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates

|  \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3

| [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15

|  \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16

)*$%xs', $string);

}

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s