PHP——emjoin表情存入数据库

2024-08-16 10:35:59 浏览数 (3)

前言

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

代码

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

代码语言:javascript复制
//对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

strlen

rawurlencode

rawurldecode

pre_replace_callback

1 人点赞