在PHP中将表情符号字符转换为Unicode代码点编号

时间:2019-08-11 03:47:34

标签: php html function unicode emoji

我正在尝试使用php将表情符号转换为unicode ,更多信息:https://unicode.org/emoji/charts/full-emoji-list.html

如何使用php将此convert转换为U+1F603

function convert_emoji($var){

}

2 个答案:

答案 0 :(得分:1)

Intl扩展提供了a function,以返回字符的代码点。当它返回整数时,您只需要将其转换为十六进制字符串即可。

function emoji_to_unicode($emoji) {
    return sprintf('U+%X', IntlChar::ord($emoji));
}

答案 1 :(得分:0)

我找到了一种简单的解决方法,所以我将回答我自己的问题,但是如果有人想改进此功能,那就太好了。

<?php

function emoji_to_unicode($emoji) {
   $emoji = mb_convert_encoding($emoji, 'UTF-32', 'UTF-8');
   $unicode = strtoupper(preg_replace("/^[0]+/","U+",bin2hex($emoji)));
   return $unicode;
}

$var = "?";
echo emoji_to_unicode($var);


?>