WP_ENCODE_EMOJI() – Конвертация Эмодзи в HTML-сущности

WP_ENCODE_EMOJI() – Конвертация Эмодзи в HTML-сущности

Функция WP_ENCODE_EMOJI() позволяет преобразовать символы эмодзи в их эквиваленты в виде HTML-сущностей. Это нужно для того, чтобы сохранить эмодзи в базе данных, используя кодировку символов UTF-8.

Как это работает

После использования этой функции, эмодзи превращаются в специальный код, который можно сохранить и отображать на веб-сайте. Это помогает избежать проблем с отображением символов при работе с базами данных.

Время выполнения функции

  • Однократный вызов: ~0.00028 секунды (очень быстро)
  • 50,000 вызовов: ~8.13 секунды (по-прежнему быстро)

Возврат значения

Функция возвращает строку с закодированным содержимым.

Использование

Чтобы добавить эмодзи в ваш контент, используйте следующую команду:

wp_encode_emoji( $content );

Параметры

  • $content (строка, обязательный) – содержимое, которое нужно закодировать.

Примеры

Пример 1 – Конвертация эмодзи в HTML-сущности

$str = '😃 😁 😝 ❄ 😇';

$str = wp_encode_emoji( $str );

// Теперь $str будет равен: 😃 😁 😝 ❄ 😇

Как работает функция

Функция wp_encode_emoji() выполняет следующие шаги:

  1. Получает список всех символов эмодзи.
  2. Проверяет, содержит ли строка $content любые символы эмодзи.
  3. Заменяет найденные эмодзи на их HTML-сущности с помощью регулярного выражения.

Код функции

Вот как выглядит код функции:


function wp_encode_emoji( $content ) {
$emoji = _wp_emoji_list( 'partials' );

foreach ( $emoji as $emojum ) {
    $emoji_char = html_entity_decode( $emojum );
    if ( str_contains( $content, $emoji_char ) ) {
        $content = preg_replace( "/$emoji_char/", $emojum, $content );
    }
}

return $content;

}

Связанные функции

  • wp_staticize_emoji() – функция, которая также связана с обработкой эмодзи в WordPress.

Теперь вы можете основываться на этой информации и использовать функцию wp_encode_emoji() для работы с эмодзи на вашем веб-сайте!

Leave a Reply

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