# Функция SEEMS_UTF8() в WordPress
Функция seems_utf8()
проверяет, закодирована ли строка в формате UTF-8. Это важно для корректного отображения текста на сайте, особенно если он содержит символы из различных языков.
## Характерísticas функции
- **Версия**: доступна начиная с WordPress 1.2.1.
- **Время выполнения**:
- 1 раз: 0.000001 сек (скорость света).
- 50000 раз: 0.02 сек (скорость света).
- **Используемая версия PHP**: 7.2.16, WP 5.2.1.
- **Хуки**: не используются.
## Возвращаемое значение
Функция возвращает:
- true
, если строка $str
соответствует модели UTF-8.
- false
, если нет.
## Использование
Чтобы использовать функцию, нужно вызвать её с одним параметром:
```php
seems_utf8( $str );
Параметры
$str
(строка, обязательный параметр) — строка, которую нужно проверить.
Примеры использования
Вот как можно использовать seems_utf8()
в своем коде:
$str = 'Текст в кодировке utf8';
if( seems_utf8( $str ) ) {
echo 'UTF-8 кодировка';
} else {
echo 'Не UTF-8';
}
Этот код проверяет, находится ли строка в формате UTF-8, и выводит соответствующее сообщение.
Реализация функции
Вот как реализована функция seems_utf8()
в WordPress:
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; // Не совпадает с ни одной моделью.
}
for ( $j = 0; $j < $n; $j++ ) { // Проверяем соответствие номеру байта
if ( ( ++$i === $length ) || ( ( ord( $str[ $i ] ) & 0xC0 ) !== 0x80 ) ) {
return false;
}
}
}
return true; // Строка соответствует UTF-8
}
Заключение
Функция seems_utf8()
— это полезный инструмент для проверки кодировки строк в формате UTF-8, что особенно важно для сайтов на WordPress, где поддержка различных языков и символов затрагивает много пользователей. Используйте её для улучшения качества отображения текста на своих страницах.