Проблема преобразования Unicode Emoji

160
04 июля 2019, 14:10

Помогите пожалуйста! Затык со смайлами emoji.

Есть сайт где можно скопировать смайлы emoji. Все бы хорошо, если не двойной unicode у некоторых смайлов.

Есть база данных где указывается название, категория, ид, слуг и юникод.

INSERT INTO emoji (id, name, slug, unicode, category) VALUES

(1, 'grinning face', 'grinning-face', '1f600', 'people'),

Есть кусок код на сайте который преобразовывает unicode в смайлы

 ?>
</div>
      </div>
<section id="people">
<div class="container">
<div class="feature-head mobile-hide">
               <h2>People & Faces Emoji</h2>
               <p>Various face & people related emoji</p>
            </div>
<div class="emoji-content">
<?php 
$items = $emoji->emoji_cat('people');
foreach($items as $item) {
echo '<a class="copy" data-clipboard-text="&#x' . $item['unicode'] . '"><span class="emoji"><img src="assets/img/emoji/' . $item['unicode'] . '.png" width="70px" alt="' . $item['name'] . '"></span></a>';

С unicode (1f600) такого формата проблем нету.

А вот с таким начинаются проблемы 1f1e6-1f1e8 (По сути это U-1f1e6 U-1f1e8 флаг).

в коде <a class="copy" data-clipboard-text="&#x' где "&#x" это замена "U-"

Суть проблемы: unicode это название картинки, которая и выводит этот смайл.

Я пробовал сделать такого формата картинку 1f1e6&#x1f1e8 (Но хостинг говорит не корректное название файла).

Методом тыков, я понял, что нужно как то автоматически заменять символ "-" на "&#x".

Подскажите пожалуйста как это можно сделать. Я новичок в этом и не сильно разбираюсь.

READ ALSO
Как разделить строку пополам?

Как разделить строку пополам?

Добрый день, есть такой вывод строки из БД, через strlen($var), узнал что у нее 18 символов Как мне разделить данную строку, чтобы получить в одной...

151
Выбрать всех пользователей с именем

Выбрать всех пользователей с именем

Необходима помощь в правильной реализации API

154
Почему не работает пагинация на wp?

Почему не работает пагинация на wp?

Не выводиться пагинация, и даже если в url вбиваешь вторую или третью страницу все равно выводит одни и те же данныеВот запрос

170