Функция SEEMS_UTF8() в WordPress: характеристики, примеры использования

# Функция 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, где поддержка различных языков и символов затрагивает много пользователей. Используйте её для улучшения качества отображения текста на своих страницах.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *