近期开发了一个匿名信系统,发现有些微信用户的昵称包含表情,导致无法保存
在网上找了一些解决方案都是利用编码保存数据库然后再解码显示 自我感觉不方便
所以我的思路是:将emoji表情转化实体编码
效果如下:

这样在页面不用解码就可以直接显示的

    function emoji_encode($str){
        preg_match_all('/./u',$str,$matches);
        $unicodeStr = "";
            foreach($matches[0] as $m){
                $unicodeStr .=(strlen($m) >= 4 )?"&#".base_convert(bin2hex(iconv('UTF-8',"UCS-4",$m)),16,10).';':$m;
            }
        return $unicodeStr;
    }
扫描进入手机浏览

欢迎留言