处理微信昵称的emoji表情

一、转移emoji存储到mysql数据库

function emoji_encode($nickname){
        $strEncode = '';
        $length = mb_strlen($nickname,'utf-8');
        for ($i=0; $i < $length; $i++) {
            $_tmpStr = mb_substr($nickname,$i,1,'utf-8');
            if(strlen($_tmpStr) >= 4){
                $strEncode .= '[[EMOJI:'.rawurlencode($_tmpStr).']]';
            }else{
                $strEncode .= $_tmpStr;
            }
        }
        return $strEncode;
}

二、读取出来转义2个函数

    //对emoji表情转反义
function emoji_decode($str=''){
   $strDecode = preg_replace_callback('|\[\[EMOJI:(.*?)\]\]|', function($matches){
      return rawurldecode($matches[1]);
   }, $str);
   return $strDecode;
}

function delete_wxname_emoji($str) {
    if($str){
        $tmpStr = json_encode($str);
        $tmpStr2 = @preg_replace("#(\\\ue[0-9a-f]{3})#ie","",$tmpStr);
        $return = json_decode($tmpStr2);
        if(!$return){
            return jsonName($return);
        }
    }else{
        $return = '微信用户-'.time();
    }    
    return $return;
}
读取用法,delete_wxname_emoji(emoji_decode($username));

转载于:https://my.oschina.net/selly1025/blog/746876

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值