seems_utf8() WP 1.2.1

Перевіряє рядок, чи вона написана в UTF-8 кодуванні.

1 раз – 0.000001 сек
(швидкість світла) | 50000 разів – 0.02 сек
(швидкість світла) |
PHP 7.2.16, WP 5.2.1

Хуків немає.

Повертає

true|false. true, якщо рядок у UTF-8 кодуванні, інакше false.

Використання

if( seems_utf8( $str ) ){
	// utf8
}
$str
(рядок) (обов’язковий)
Рядок, який потрібно перевірити на кодування.

Приклади

0

#1 Демонстрація роботи

$str = 'Text in utf8 encoding';

if( seems_utf8( $str ) )
	echo 'Кодування UTF-8';
else
	echo 'Не UTF-8';

список змін

З версії 1.2.1Введено.

Код seems_utf8() WP 6.0.2

function seems_utf8( $str ) {
	mbstring_binary_safe_encoding();
	$ length = strlen ($ str);
	reset_mbstring_encoding();
	for ( $i = 0; $i < $length; $i++ ) {
		$ c = ord ($ str [$ i]);
		if ( $c < 0x80 ) {
			$n = 0; // 0bbbbbbb
		} elseif ( ( $ c & 0xE0 ) == 0xC0 ) {
			$n = 1; // 110bbbbb
		} elseif ( ( $ c & 0xF0 ) == 0xE0 ) {
			$n = 2; // 1110bbbb
		} elseif ( ( $ c & 0xF8 ) == 0xF0 ) {
			$n = 3; // 11110bbb
		} elseif ( ( $ c & 0xFC ) == 0xF8 ) {
			$n = 4; // 111110bb
		} elseif ( ( $ c & 0xFE ) == 0xFC ) {
			$n = 5; // 1111110b
		} else {
			return false; // Does not match any model.
		}
		for ( $ j = 0; $ j < $ n; $ j ++ ) { // n bytes matching 10bbbbbb follow ?
			if ((++$i == $length) || ((ord($str[$i]) & 0xC0)!= 0x80)) {
				return false;
			}
		}
	}
	return true;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *