还有一种解决的方法是更改数据库,这里就不写了,这里直接对emoji进行转码

代码

mb_strlen() | strlen() | rawurlencode() | rawurldecode() | pre_replace_callback()

//对emoji表情转义
function emoji_encode($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 .= '[[emjoin:'.rawurlencode($_tmpStr).']]';
        }else{
            $strEncode .= $_tmpStr;
        }
    }
    return $strEncode;
}
//对emoji表情反转义
function emoji_decode($str){
    $strDecode = preg_replace_callback('|\[\[emjoin:(.*?)\]\]|', function($matches){  
        return rawurldecode($matches[1]);
    }, $str);

    return $strDecode;
}

 mb_strlen

PHP——emjoin表情存入数据库

 

strlen

PHP——emjoin表情存入数据库

 

rawurlencode

PHP——emjoin表情存入数据库

 

rawurldecode

PHP——emjoin表情存入数据库

 

pre_replace_callback

PHP——emjoin表情存入数据库

 

相关文章:

  • 2021-08-06
  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2021-10-22
  • 2022-12-23
  • 2022-02-06
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-04
  • 2022-01-03
  • 2021-09-09
  • 2022-12-23
相关资源
相似解决方案