微信昵称相关问题处理

peakswill2周前PHP45

将emoji标签转换成可以mysql存储的格式

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

将从mysql取出来的emoji转换成可显示格式

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

过滤微信昵称小图标

function removeEmoji($text) {

    $clean_text = "";

    // Match Emoticons
    $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
    $clean_text = preg_replace($regexEmoticons, '', $text);

    // Match Miscellaneous Symbols and Pictographs
    $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
    $clean_text = preg_replace($regexSymbols, '', $clean_text);

    // Match Transport And Map Symbols
    $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
    $clean_text = preg_replace($regexTransport, '', $clean_text);

    // Match Miscellaneous Symbols
    $regexMisc = '/[\x{2600}-\x{26FF}]/u';
    $clean_text = preg_replace($regexMisc, '', $clean_text);

    // Match Dingbats
    $regexDingbats = '/[\x{2700}-\x{27BF}]/u';
    $clean_text = preg_replace($regexDingbats, '', $clean_text);

    return $clean_text;
}


相关文章

FFmpeg视频切片

服务器需要配置FFmpeg,本人安装的版本:ffmpeg-5.1.1,配置的快捷命令:ffmpeg5$videofile = "test.mp4"; $m3u...