牛骨文教育服务平台(让学习变的简单)
博文笔记

微信接口获取昵称中的表情符的过滤

创建时间:2015-08-09 投稿人: 浏览次数:200
$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,这里包括了对应的编码转表情的方式

如果为了方便,可以不显示,那就用上面的粗暴的过虑

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。