/ / Витягування всіх емоджи з рядка за допомогою REGEX - php, regex, preg-substitute, preg-match, preg-match-all

Вилучення всіх емоцій з рядка з використанням REGEX - php, regex, preg-replace, preg-match, preg-match-all

Я намагаюся витягти з нього всі емоджирядок за допомогою перерахованої нижче функції регулярного вираження. Однак ця функція іноді не є точною, оскільки вона додає додаткові емоції в процесі. Регекс, який я використовую, такий:

preg_match_all("/([0-9|#][x{20E3}])|[x{00ae}|x{00a9}|x{203C}|x{2047}|x{2048}|x{2049}|x{3030}|x{303D}|x{2139}|x{2122}|x{3297}|x{3299}][x{FE00}-x{FEFF}]?|[x{2190}-x{21FF}][x{FE00}-x{FEFF}]?|[x{2300}-x{23FF}][x{FE00}-x{FEFF}]?|[x{2460}-x{24FF}][x{FE00}-x{FEFF}]?|[x{25A0}-x{25FF}][x{FE00}-x{FEFF}]?|[x{2600}-x{27BF}][x{FE00}-x{FEFF}]?|[x{2600}-x{27BF}][x{1F000}-x{1FEFF}]?|[x{2900}-x{297F}][x{FE00}-x{FEFF}]?|[x{2B00}-x{2BF0}][x{FE00}-x{FEFF}]?|[x{1F000}-x{1F9FF}][x{FE00}-x{FEFF}]?|[x{1F000}-x{1F9FF}][x{1F000}-x{1FEFF}]?/u", $string, $emojis);

Коли я намагаюся надрукувати "emojis [0]" після цього, іноді, це не точно.

Наприклад,

КОД:

$string = "Get into it !!!