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

Convert emoji code into emoticon character in PHP

如何转换这个字符串

U+1F600

进入响应。表情符号或表情符号?

我可以做到,效果很好:

echo "\u{1F600}";

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

F.e 这将在

中产生

Invalid UTF-8 codepoint escape sequence

$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字符呢?

你可以做一个 preg_replace() :

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

会显示

Hello