PHP微信小程序用户昵称带表情符存储

处理微信昵称中带表情符无法存到数据库问题。数据库需要加长微信昵称字段长度

/**对emoji表情转义
 * @param $nickname
 * @return string
 */
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;
}

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

    return $strDecode;
}
--------------------- 
作者:等灯等灯 
来源:CSDN 
原文:https://blog.csdn.net/qq_36180117/article/details/80846599 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(PHP,小程序,微信昵称,表情符号)