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

时间:2019-03-27 13:15:45

标签: php unicode emoji

如何转换此字符串

U+1F600

进入resp。表情符号还是表情符号?

我可以这样做,效果很好:

echo "\u{1F600}";

但是,当我尝试将包含U+1F600的字符串转换为该文字时,它将不起作用。

F.e这将产生

  

无效的UTF-8代码点转义序列

$str = "Hello U+1F600";
preg_match("/U\+[0-9a-f]{4,5}/mi", $str, $find);
$text = str_replace($find[0], "\u{".str_replace("U+","", $find[0])."}", $str);

echo $text;

那么我该如何处理PHP中的Emoji代码来获取Emoji字符?

1 个答案:

答案 0 :(得分:0)

您可以执行preg_replace()

$str = "Hello U+1F600";
$str = preg_replace("/U\+([0-9a-f]{4,5})/mi", '&#x${1}', $str);
echo $str;

它将显示

Hello