首页 > php > 包含emoji表情符号的微信昵称入库失败解决方案

包含emoji表情符号的微信昵称入库失败解决方案

作者:bin

这里提供2个方法,处理微信emoji表情,方便入库和提取使用
你可以添加至项目的common中,便可以全局使用了

1、入库前,将emoji转换为可入口的字符串

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

2、出库时候,将字符串再转换为emoji表情,即可直接使用

 
function str2emoji($str) {
 $strDecode = preg_replace_callback("/\[\[EMOJI:(.*?)\]\]/", function($matches){
      return rawurldecode($matches[1]);
 }, $str);

 return $strDecode;
}

您必须 [ 登录 ] 才能发表留言!