Heim > php教程 > php手册 > 微信获取nickname中存在Emoji导致保存为空问题的解决

微信获取nickname中存在Emoji导致保存为空问题的解决

WBOY
Freigeben: 2016-06-07 11:35:30
Original
1726 Leute haben es durchsucht

微信开发时候,有些用户使用Emoji表情作为用户昵称,导致数据库保存昵称时候不识别导致昵称为空,现在提出以下解决方案:
/**<br>   +----------------------------------------------------------<br>  * 过滤用户昵称里面的特殊字符<br>   +----------------------------------------------------------<br>  * @param string    $str   待输出的用户昵称<br>   +----------------------------------------------------------<br>  */<br> function jsonName($str) {<br>     if($str){<br>         $tmpStr = json_encode($str);<br>         $tmpStr2 = preg_replace("#(\\\ud[0-9a-f]{3})#ie","",$tmpStr);<br>         $return = json_decode($tmpStr2);<br>         if(!$return){<br>             return jsonName($return);<br>         }<br>     }else{<br>         $return = '微信用户-'.time();<br>     }    <br>     return $return;<br> }原理是判断nickname是否为空,如为空,则随机一个名称保存,如存在表情,过滤掉表情保存。
过滤表情那一行,我这里看到的表情json_encode之后前两位是ud,因此采用了这个,你们可以根据自己的实际情况修改。
还有就是,有人使用http://www.zhihu.com/question/37131723?sort=created这个解决方案,因人而异,大家都可以借鉴,同时如有更好的方案,请留言分享一下。

AD:真正免费,域名+虚机+企业邮箱=0元

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage