微信接口获取昵称中的表情符的过滤
$tmpStr = "{"nickname":"ue131u6f6eu978buff5eu9ad8u6893u94b0ud83dudc5fud83dudc5fud83dudc5f"}"; $tmpStr = "{"nickname" : "u00ce.LoVe.ue022U-Y.t666666666ue420"}"; $nickname = json_decode($tmpStr, true); $tmpStr = json_encode($nickname["nickname"]); $tmpStr = preg_replace("#(\ud[0-9a-f]{3})|(\ue[0-9a-f]{3})#ie","",$tmpStr); //将emoji的unicode置为空,其他不动 $text = json_decode($tmpStr, true); print_r($text);//你好 ue415 hello 123
对于通过微信接口获取的昵称中,有时会带有表情符号,PC端必须通过找到对应的表情,以图片形式来展示。有时为了简单粗暴的解决,就是直接过滤掉这些表情符号,在固定区段的unicode的编码,这样也不会有筹码出现
其实有时如“ud83dudc5f”表情符号,这是为unicode编码形式,我们需要把它转化为16进制的编码,如xF0x9Fx91x9F
再去对应符号中找到,可以从网上搜索php-emoji-master,这里包括了对应的编码转表情的方式
如果为了方便,可以不显示,那就用上面的粗暴的过虑
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 用PHP和HTML写一个简单的网站登录注册项目
- 下一篇: 使用PHP实现用户登录和注册的功能