微信emoji表情包存入数据库报错处理

微信emoji表情包存入数据库报错处理

    /**对emoji表情转义
     * @param $nickname
     * @return string
     */
    public 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表情转反义
     * @param $str
     * @return string|string[]|null
     */
    public function emoji_decode($str)
    {
        $strDecode = preg_replace_callback('|
\[EMOJI:(.∗?)
\]|', function ($matches) {
            return rawurldecode($matches[1]);
        }, $str);

        return $strDecode;
    }

你可能感兴趣的:(mysql,PHP)