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

4

我自己解决了我的问题,顺便说一下。 - Otávio Barreto
只能在两天内标记为已解决。 - Otávio Barreto
2个回答

5
我找到了一种简单的解决方法,所以我会回答自己的问题,但如果有人想改进这个函数,那就很酷。
<?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);


?>

2

Intl 扩展提供了一个函数来返回字符的代码点。由于它返回一个整数,您只需要将其转换为十六进制字符串即可。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接