本文介绍了使用PHP将��转换为Html中的Emoji的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一堆代理项对(或2字节UTF8?)像��这样的字符,这是祈祷手表情符号,存储为UTF8作为2个字符。在浏览器中呈现时,此字符串呈现为两个??

示例:�;�;

我需要使用php将它们转换为HANDS emjoi,但我就是找不到iconv、utf8_decode、html_Entity_decode等的组合来实现它。

此站点正确转换��

http://www.convertstring.com/EncodeDecode/HtmlDecode

将以下字符串粘贴到其中

Please join me in this prayer. ��❤️

您会注意到代理项对�;�;(��)转换为🙏

这个站点声称使用HTMLDecode,但我在php中找不到任何东西来实现这一点。我试过了:图标HTMLEntity_Decode和一些公共图书馆。

我承认我不是转换字符编码的专家!

推荐答案

我找不到执行此操作的函数,但它可以工作:

$str = "Please join me in this prayer. ��❤️";
$newStr = preg_replace_callback("/&#.....;&#.....;/", function($matches){return convertToEmoji($matches);}, $str);
print_r($newStr);
function convertToEmoji($matches){
    $newStr = $matches[0];
    $newStr = str_replace("&#", '', $newStr);
    $newStr = str_replace(";", '##', $newStr);
    $myEmoji = explode("##", $newStr);
    $newStr = dechex($myEmoji[0]) . dechex($myEmoji[1]);
    $newStr = hex2bin($newStr);
    return iconv("UTF-16BE", "UTF-8", $newStr);
}

这篇关于使用PHP将��转换为Html中的Emoji的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 11:38