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(строка) (обязательный)
- Строка, которую нужно проверить на кодировку.
Примеры
#1 Демонстрация работы
$str = 'Text in utf8 encoding';
if( seems_utf8( $str ) )
echo 'Кодировка UTF-8';
else
echo 'Не UTF-8 ';
Список изменений
Код seems_utf8() seems utf8
WP 5.6.2
<?php
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;
}
Cвязанные функции