WordPress как на ладони
eurobyte.ru - мощные сервера с Дата-центрами в Нидерландах и Москве. От 159 ₽/мес.

wp_encode_emoji()WP 4.2.0

Конвертирует эмодзи (emoji) символы в переданной строке в их HTML код (&#x1f31b).

Эмодзи (emoji) - это общепринятые (имеющие спецификацию и поддерживающиеся многими устройствами) картинки-смайлики в кодировке utf-8mb4, введенные в WordPress с версии 4.2. Например: 🚀 🚚 ❄.

На апрель 2015 года поддерживаются не все смайлики и для отображения нераспознаваемых смайлов в браузере, используется специальный скрипт.

Такие символы-смайлики требует специальную кодировку utf8mb4 при размещении их в БД, в противном случает символ не будет распознан и не сохранится правильно. Конвертация с помощью wp_encode_emoji() позволяет сохранять эти символы в неподходящей для них кодировке utf8, где они сохраняются не как символы, а как их соответствующий код.

Кодировка utf-8 сама по себе поддерживает некоторые из иконок эмодзи, но далеко не все.

Основа для: wp_staticize_emoji()
1 раз — 0.00028 сек (быстро) | 50000 раз — 8.13 сек (быстро)

Хуков нет.

Возвращает

Строку. Строку, в которой символы-смайлики заменены на соответствующие HTML сущности.

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

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

Примеры

0

#1 Демонстрация замены символов-смайликов в строке на HTML сущности

$str = '😃 😁 😝 ❄ 😇';

$str = wp_encode_emoji( $str );

// $str теперь равен: 🌛 🌌 🍦 ❄ &#x1f36a

Список изменений

С версии 4.2.0 Введена.

Код wp_encode_emoji() WP 6.6.2

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;
}
3 комментария
    Войти