我现在正在努力发送推送ios,它对我来说工作正常,但问题是表情符号,当我发送表情符号时,它不会在表情符号中呈现,我谷歌搜索它说你需要将\ud83d\ude04
此文字转换为\xf0\x9f\x98\x84
,但我无法将其转换,我该如何转换为此文字?
有谁可以帮忙解决这个问题?
答案 0 :(得分:1)
这可以帮到你:
$str = "\ud83d\ude04";
$replaced = preg_replace("/\\\\u([0-9A-F]{1,4})/i", "&#x$1;", $str);
$result = mb_convert_encoding($replaced, "UTF-16", "HTML-ENTITIES");
$result = mb_convert_encoding($result, 'utf-8', 'utf-16');
$resultHex = unpack('H*', $result);
$resultHex = $resultHex[1];
$resultHexStr = '\x' . implode('\x', str_split($resultHex, 2));
echo 'result = ' . $result;
echo '<br>';
echo 'hex = ' . $resultHexStr;
输出:
result =
hex = \xf0\x9f\x98\x84