有的人QQ名喜欢放两个emoji,然后在QQ登录之后,将nickname存到数据库的时候就会报错,这个时候我们就需要处理一下这个emoji了。
原理:emoji通常占4个字节,而中文的话是3个字节,我们可以从这里入手。
function removeEmoji($str){
$str = preg_replace_callback('/./u',function (array $match) {
return strlen($match[0])>=4?'':$match[0];
},$str);
return $str;
}
function removeEmoji($str){
$str = preg_replace("/[\x{1F600}-\x{1F64F}\x{1F300}-\x{1F5FF}\x{1F680}-\x{1F6FF}\x{2600}-\x{26FF}\x{2700}-\x{27BF}]/u","",$str);
return $str;
}
我比较喜欢第二种方法,毕竟省篇幅,正则表达式一行就解决了
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。